C++程序设计必知:作用域和可见性

来源:互联网 发布:后缀slg3是什么软件 编辑:程序博客网 时间:2024/06/16 18:57

参考引用自:

鸡啄米:C++编程入门系列之十八(C++程序设计必知:作用域和可见性)

C++变量的可见性

1、作用域

a、函数原型作用域

1
2
3
void fun(int x);
//
void gun(int);

b、块作用域

1
2
3
4
5
6
7
8
int main(){
    int a;//a的作用域开始
    {
        int b;
    }
    return 0;
     
}//a的作用域结束

c、类作用域

1
2
3
4
5
6
7
8
9
10
11
class A{
public:
    A(int x){
        a = x;
    }
    int getA(){
        return a;
    }
private:
    int a;
};

d、文件作用域

1
2
3
4
5
6
7
8
#include<iostream>
using namespace std;
int i;//文件作用域
int main(){
    i = 1;
    cout << i << endl;
    return 0;
}

2、可见性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
int i;//文件作用域
int main()
{
    int a = 1;
    {
        int a = 2;
        {
            char a = 'a';
            cout << a << endl;
        }
        cout << a << endl;
    }
    cout << a << endl;
    return 0;
}
/*运行结果
a
2
1
 
*/


0 0