参考引用自:
鸡啄米: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
*/
|