类的作用域

    更多c++类的基本概念

    每个类都会定义它自己的作用域。在类的作用域外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员则使用作用域运算符访问。不论哪种情况,跟在运算符之后的名字都必须是对应类的成员。

作用域和定义在类外部的成员

    一个类就是一个作用域很好地解释为什么当我们在类的外部定义成员函数时必须同时提供类名和函数名。一旦遇到类名,定义的剩余部分(参数列表和函数体)就在类的作用域之内了。

    另一方面,函数的返回类型通常出现在函数名之前。因此当成员函数定义在类的外部时,返回类型中使用的名字都位于类的作用域之外。这时,返回类型必须指明它是哪个类的成员。

 

名字查找与类的作用域

    因为成员函数体直到整个类可见后才会被处理,所以它能使用类中定义的任何名字。

    声明中使用的名字,都必须在使用前确保可见。

    类型名的定义通常出现在类的开始处,这样就能确保所有使用该类型的成员都出现在类名的定义之后。

    成员函数中使用的名字按照如下方式解析:

    1、在成员函数内查找改名字的声明。

    2、如果在成员函数中没有找到,则在类内继续查找。

    3、如果没有找到,在成员函数定义之前的作用域内继续查找。

   

   

   

   

 

  

   

    

   

posted @ 2017-11-17 15:39  哲贤  阅读(682)  评论(0编辑  收藏  举报