C++之类之类的作用域

Posted ccpang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++之类之类的作用域相关的知识,希望对你有一定的参考价值。


 每个类都会定义它自己的作用域。在类的作用域之内,普通的数据和函数成员只能由对象、引用、或指针使用成员访问符来访问。对于类类型成员,则使用作用域运算符访问。


 

一、作用域

  一个类就是一个作用域,当我们在类的外部定义成员函数时必须提供类名和函数名,一旦遇到类名,定义的剩余部分就在类的作用域之内了,剩余部分包括参数列表和函数体。

1 void Window_mgr::clear(ScreenIndex i)
2   
3   Screen &s = screens[i];
4   s.contents = string(s.height *s.width, );
5 
6 

 上述代码,当遇到Window_mgr后,就进入了类的作用域了,所以不再专门说明ScreenIndex是Window_mgr定义的。


二、类外部的函数定义:具有返回值时

 1 class Window_mgr
 2 public:
 3    //向窗口添加一个Screen返回它的编号
 4    ScreenIndex addScreen(const Screen&)
 5 ;
 6 //在类外定义时,返回值还没有进入类的作用域中,必须指明它是哪个类的成员
 7 Window_mgr ::ScreenIndex 
 8 Window_mgr ::addScreen(const Screen &s)
 9 
10     screens.push_back(s);
11     return screens.size() -1;
12 

 


 

以上是关于C++之类之类的作用域的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中作用域和作用域链解析

理解Ruby中的作用域

let与const详解

关于js的作用域,自我认知

JavaScript 将作用域传递给另一个函数

名称空间