代码-A
#include<iostream>
using namespace std;
int a;//全局变量a,具有命名空间作用域
int q = 1;//q是全局变量,具有静态生存期
void print()
{
cout << "调用函数定义a的值为:" << a << endl;
if (a == 999)
cout << "看来局部变量a只有在下面定义的for内有效!" << endl;
else
cout << "作用域概念出错!" << endl;
}
namespace zhu
{
float a;
float b;
void area(float a, float b)
{
cout << a * b << endl;
}
}
namespace jia
{
float a = 6.5;
float b = 5.2;
float y = 6.5;
float u = 5.2;
float area()
{
return y * u;
}
float area1()
{
return a * b;
}
}
/*namespace shen //此命名空间无任何定义
{
}*/
namespace keng {
float a = 1;
float area(float a, float b)
{
return a * b;
}
}
void bian()
{
static int j = 8;//j是静态局部变量,具有全局寿命,局部可见,只有第一次进入函数才被初始化
q++;
int w = 10;//w是动态局部变量,具有动态生存期,每次进入函数都会初始化
w += 10;
cout << "--BIAN--\n" << "j是:" << j << "\t全局变量q是:" << q << "\tbian函数内局部变量w是:" << w << endl;
j += 8;
}
int main()
{
a = 999;
int b = 6;//局部变量b
for (int a = 0; a < 2; a++)//for是定义的局部变量a作用域
{
cout << "局部变量a的值是:" << a << endl;
cout << "局部变量b的值是:" << b << endl;
}
cout << "全局变量a的值是:" << a << endl;
print();
//简化引用
{using namespace zhu;
float a = 6.5;
float b = 5.2;
float c = 6.6;
area(a, b);
area(b, c); }
//直接引用
cout << "矩形长是:" << jia::y << endl;
cout << "矩形宽是:" << jia::u << endl;
cout << "矩形面积是:" << jia::area() << endl;
cout << "矩形面积是:" << jia::area1() << endl;
jia::y = 3;//给jia命名域里y赋值
jia::u = 2;//同上
cout << jia::area() << endl;
/*{ using namespace shen;
float = a; //命名空间无任何定义必报错
cout << a << endl;
}*/
{ using namespace keng;
float a = 2.5;
float b = 4;
cout << "面积是:" << area(a, b) << endl;
}
static int j;
int w = 6;
cout << "--MAIN--\n" << "j是:" << j << "\t全局变量q是:" << q << "\tmain函数内局部变量w是:" << w << endl;
bian();
w += 6;
cout << "--MAIN--\n" << "j是:" << j << "\t全局变量q是:" << q << "\tmain函数内局部变量w是:" << w << endl;
bian();
cin.get();
return 0;
}
End
~
记录留存