1. 程式人生 > >c++的名稱空間namespace

c++的名稱空間namespace

c++的名稱空間使用是為了限制一些變數名或者函式只能在名稱空間的範圍類使用,避免重複的變數名使用混淆。猶如std一樣,在std內的一些變數名或許和一些其他的名稱空間內的變數名重複,但是使用 std::變數名 就可以與其他空間內的變數名進行區分

#include "iostream"
using namespace std;
#include <string>

namespace namespaceA //名稱空間的使用方法
{
	int a = 0;//專屬於這個名稱空間的變數
}
namespace namespaceB
{
	int a = 10;
	namespace namespaceC//內嵌的名稱空間
	{
		struct teacher//結構體
		{
			string name;
			int age;
		};
	}
}
void main()
{
	using namespace namespaceA;//使用名稱空間的時候需要先宣告用的是哪個名稱空間
	cout << "名稱空間A的a的值是:" << namespaceA::a << endl;//使用時仍然需要確認是在哪個名稱空間的變數 <名稱空間名稱::變數名>
	using namespace namespaceB::namespaceC;
	cout << "名稱空間B的a的值是:" << namespaceB::a << endl;

	using namespace namespaceB::namespaceC;
	teacher teacher1;//利用結構體建立物件,物件可以呼叫結構體的一些屬性
	teacher1.name = " Mr wu ";
	teacher1.age = 10;
	cout << "老師的年齡"<<teacher1.age<<endl;
	cout << "老師的名字:" << teacher1.name << endl;
	system("pause"); 
}