12. C++ 类其实也是一种作用域

C++ 类其实也是一种作用域

类其实也是一种作用域,每个类都会定义它自己的作用域。在类的作用域之外,普通的成员只能通过对象(可以是对象本身,也可以是对象指针或对象引用)来访问,静态成员既可以通过对象访问,又可以通过类访问,在类内用 typedef 定义的类型只能通过类来访问
下面的例子使用不同的方式访问了不同的成员:

#include<iostream>
using namespace std;

class A
{
public:    
    typedef int INT;        // 类内的typedef重命名类型
    static void show();
    void work();
};

void A::show(){ cout<<"show()"<<endl; }

void A::work(){ cout<<"work()"<<endl; }

int main(){
    A a;
    a.work();  //通过对象访问普通成员
    a.show();  //通过对象访问静态成员
    A::show();  //通过类访问静态成员
    A::INT n = 10;  //通过类访问 typedef 定义的类型
    return 0;
}
posted @ 2024-02-03 11:21  最想要去的地方  阅读(19)  评论(0编辑  收藏  举报