C++上机实验:名称空间和头文件_c语言上机实验答案
C++上机实验:名称空间和头文件由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言上机实验答案”。
实验6 名称空间和头文件
1.实验目的
学习并理解变量的作用域;掌握头文件的使用方法;掌握名称空间的作用和使用方法。
2.实验要求
(1)掌握全局变量和静态变量的作用域。
(2)掌握头文件的使用方法。
(3)掌握名称空间的使用方法。
3.实验内容
(1)全局变量一般在函数的外部定义,运行下面程序并思考变量的作用域。
#include using namespace std;
int a=3;//全局变量
int main(){
int a=5;cout
(2)静态变量(static).静态变量之所以是因为静态,是因为他在整个程序生命周期的地址静止不变。也就是说在整个程序里面只保存有一份拷贝。运行下面两个程序并思考静态变量的规则。
#include using namespace std;
int max_so_far(int curr)//求至今(本次调用)为止最大值 {
static int biggest=0;//该变量保持着每次调用时的最新值,它的有效期等于整个程序的有效期,如果去掉static,同学们看看程序运行的结果是什么?
cout
if(curr > biggest)
biggest = curr;
return biggest;}
int main()
{
cout
return 0;
}
#include using namespace std;
void fun1()
{
static int value = 1;//体会静态变量的作用:函数调用结束后,其所占用的地址依然存在
value=value+1;
cout
}
int main()
{
fun1();
fun1();
fun1();
return 0;
}
(3)为了实现协同开发,减少开发时间,降低错误,提高效率,C++提供了头文件和名称空间机制。一般函数、全局变量、类、名称等的声明放在扩展名为.h(称为接口interface文件)的头文件中,而其实现部分则放在相同主名,扩展名为.cpp(称为实现implementation文件),而用户的应用程序则是调用(称为应用application文件)
//E:cfun.h
头文件的定义 #ifndef FUN_H #define FUN_H
#include using namespace std;int f(int);#endif
//E:cfun.cpp
实现部分的定义 #include
int f(int x){ } #include
//E:ccpp1.cpp
应用程序的定义 int main(){
} cout
(4)名称空间主要是为了解决重名的问题
#ifndef FUN_H #define FUN_H
#include using namespace std;
namespace n1{
namespace n2{
#endif #include
//extern int n1::a=1;//extern int n2::a=2;int f(int);} int f(int);} int n1::f(int x){ }
int n2::f(int x){ }
#include int main(){
} cout
(1)利用头文件的方式,写出实现数学运算(+,-,*,/,%,^)的函数库(mathsx),然后在主程序中调用,体会头文件的作用
(2)利用名称空间的方法,分别在两个名称空间中实现交换两个变量的值的函数,分别用指针和引用作为参数swap(int *, int *)以及swap(int & ,int &)然后在主程序中调用,体会函数的阐述传递的规则