我们已经学习了局部作用域和全局作用域,下面介绍类作用域,所有的类成员是属于类作用域的。
类本身可被定义在三种作用域内: 1. 全局作用域。这是所谓全局类,绝大多数的C++类是定义在该作用域中,我们在前面定义的所有类都是在全局作用域中。 2. 在另一个类的作用域中。这是所谓嵌套类,即一个类包含在另一个类中。 3. 在一个块的局部作用域中。这是所谓局部类,该类完全被块包含。 例如: int fork (void); // 全局fork class Process { int fork (void); //... }; 成员函数fork隐藏了全局函数fork,前者能通过单目域运算符调用后者: int Process::fork (void) { int pid = ::fork(); // 使用全局fork //... } 下面举一个嵌套类的例子。
Rectangle::Point::Point (int x, int y) { //... } 同样,在类域外访问嵌套类需要限制类名,例如: Rectangle::Point pt(1,1); 下面我们再看一个局部类的例子:
ColorTable ct; // 非法,没有定义ColorTable类! 局部类必须完全定义在局部作用域内。所以,它的所有成员函数必须是内联的,这就决定了局部类的成员函数都是很简单的。 |
C++基础--类的作用域
最新推荐文章于 2022-03-08 19:21:04 发布