C++如何在类的成员函数中表示同名的全局变量?

来源:互联网 发布:淘宝开店保证金30元 编辑:程序博客网 时间:2024/05/20 15:59

C++如何在类的成员函数中表示同名的全局变量?可以显式地通过作用域运算符::实现。请看两个例子:
例子1 :

int a=5;//1位置处class A{public:void f1();private:int a=0;//2位置处}void A::f1(){a++;//注意此处的a指的是2位置处的a,即类内定义的a}

例子2 :

int a=5;//1位置处class A{public:void f1();private:int a=0;//2位置处}void A::f1(){(::a)++;//注意此处的a指的是1位置处的a,即全局定义的a}

总结:作用域运算符::的用法有2种:
第1种,类名+类的成员变量/成员函数/类内自定义类型,代表的类作用域内定义的变量/函数/类型;
第2种,全局作用域符号。当全局变量与局部函数中的某个局部变量重名时,可采用::+变量名的方式区分使用的是局部变量还是全局变量。

阅读全文
1 0
原创粉丝点击