C++namespace名稱空間
阿新 • • 發佈:2018-12-22
one.h檔案
#pragma once #include<iostream> using namespace std; namespace oneDog { void oneDogName(); }
one.cpp檔案
#include"one.h" void oneDog::oneDogName() //記住在這裡實現的時候要加上名稱空間 { cout << "我是oneDog" << endl; }
main.cpp檔案
#include<iostream> #include"one.h" using namespace std; //1.名稱空間下可以放函式方法類,變數,結構體 //2.名稱空間必須定義在全域性作用域下 //3.名稱空間可以巢狀名稱空間 namespace A { namespace B { void test() { cout << "A作用域下巢狀的B作用域下的test函式" << endl; } } } //4.名稱空間是開放的,可以隨時為原來的名稱空間新增新的內容 namespace A { void test() { cout << "A名稱空間新新增的test函式" << endl; } } //5.匿名名稱空間,這個裡面的內容只能被當前檔案使用 namespace { void test1() { cout << "我是匿名名稱空間中的test1函式" << endl; } } //6.可以為名稱空間起一個別名 namespace verylongName { void test() { cout << "我是換過名後的名稱空間下的test函式" << endl; } } namespace veryshortName = verylongName; int main() { oneDog::oneDogName(); //呼叫noeDog名稱空間下的oneDogName函式 A::B::test(); //呼叫巢狀名稱空間作用域的test函式 A::test(); //呼叫為A名稱空間新新增的test函式 test1(); veryshortName::test(); return 0; }