我读不懂这句话...类的成员函数无论是内联的还是在类外单独定义的,其函数名都具有类作用域.与块作用域一样,类作用域中的标

问题描述:

我读不懂这句话...
类的成员函数无论是内联的还是在类外单独定义的,其函数名都具有类作用域.与块作用域一样,类作用域中的标识符将屏蔽包含该类作用域之作用域中的同名标识符.比如:
class X{
int xl
public:
int fun();
};
int x;
int fun(); //全局函数fun()的说明
intX::fun()
{
::x++; //全局变量X
return x; //类成员x
}
我就是读不懂:
"类作用域中的标识符将屏蔽包含该类作用域之作用域中的同名标识符"
什么叫"作用域之作用域中"?
以及结合这个例子怎么明白这句话?
1个回答 分类:综合 2014-11-03

问题解答:

我来补答
“类作用域中的标识符将屏蔽包含该类作用域之作用域中的同名标识符”这句话有点绕口,把这个表述具体化一下可能更容易理解.
例如:
类作用域为A
A中有一个标识符X
另外还有一个作用域B,它包含作用域A
而B中也有一个标识符X
这时,A中的X将屏蔽B中的X
即:类作用域(A)中的标识符(X)将屏蔽包含该类作用域(A)之作用域(B)中的同名标识符(X)
其实这是任何程序语言最基本的概念之一.例如
for (int i = 0;i
 
 
展开全文阅读
剩余:2000
上一页:一道物理提题