2020-03-02 17:36:40 来源:范文大全收藏下载本文
实验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:\\c\\fun.h
头文件的定义 #ifndef FUN_H #define FUN_H
#include using namespace std; int f(int); #endif
//E:\\c\\fun.cpp
实现部分的定义 #include
int f(int x) { } #include
//E:\\c\\cpp1.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 &)然后在主程序中调用,体会函数的阐述传递的规则
人人范文网 m.inrrp.com.cn 手机版