C++利用命名空間實現變量的間接訪問

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章