- 一个类就是一个作用域
一旦遇到类名定义的剩余部分就在类的作用域中了。
当我们使用到某个类类型、类里面的类型。
- 函数返回类型需要加上类名(因为函数返回类型中使用的名字一般都位于类的作用域之外)
- 函数参数列表中不需要添加类名
顺序:
- 首先,在名字的块中寻找其声明语句,只考虑在名字的使用之前出现的声明
- 如果没有找到继续查找外层作用域
- 如果最终没有找到匹配的声明,则程序报错
- 先编译成员的声明
- 知道类全部可见后编译函数体
- 内层作用域可以重新定义外层作用域中的名字,即使该名字已经在内层作用域中使用过来了,然而在类中,如果成员使用了外层作用域中的某个名字,而该名字代表一种类型,则类不能在之后重新定义该名字;
- 首先,成员函数内查找名字的声明。
- 如果在成员函数中没有找到,则在类中继续找
- 如果类内也有找到该名字的声明,在成员函数定义之前的作用域内继续查找。
当类的成员因为同名被隐藏的时候,可以通过加上类名或显示的使用this指针来强制访问成员。



