C++利用自定义命名空间实现变量的间接访问
要求:变量 val 放在独立的 .cpp 文件的自定义命名空间中,在main函数中访问变量val
实现代码如下:
myname.h
#ifndef __MODULE_H
#define __MODULE_H
//自定义的命名空间
namespace val
{
//声明函数
int getval();
void setval(int x);
}
#endif
myname.cpp
#include <iostream>
#include "myname.h"
//自定义的命名空间,若源文件与头文件的命名空间名字相同,则编译器会自动合并两个命名空间
namespace val
{
//定义变量
int value;
//定义函数
int getval()
{
return value;
}
void setval(int x)
{
value = x;
}
}
main.cpp
#include <iostream>
#include "myname.h"
using namespace std;
using namespace val; //使用自定义的命名空间
int main()
{
setval(10); //设置value的值
cout<<getval()<<endl; //获取value的值
return 0;
}