C/C++:命名空間

這一篇呢,,只是在上一篇點擊打開鏈接上加了少許東西,也就是命名自己的空間。而爲什麼要命名自己的空間呢。

因爲,有時候我們的類可能會重名,所以我可以用這種方法來區別同中類。


首先是class的頭文件,

<span style="font-size:18px;">
#ifndef PEOPLE_H
#define PEOPLE_H

#include<iostream>

using namespace std;

namespace TOK{
    class people{
        public:
        void say_hello();
    };
}


#endif // PEOPLE_H
</span>

這裏和上一篇的區別在於,就是用了TOK(自己想要命名的空間的名字)的命名空間包住了我原來的程序。


在然後就是class的cpp文件啦~


<span style="font-size:18px;">
#include "people.h"

namespace TOK{
    void people::say_hello(){
        cout << "hello world !" << endl;
    }
}

</span>
這裏同樣也是要用TOK命名空間包住,不然是會出錯的說。


然後就main文件啦~


<span style="font-size:18px;">
#include "people.h"

int main()
{
    TOK::people *p = new TOK::people();//利用TOK命名空間來定義p;
    p -> say_hello();
    delete p;
    return 0;
}
</span>

其實這裏我們可以用一種方法來方便我們在main文件中使用我們的命名空間。
<span style="font-size:18px;">
#include "people.h"

using namespace TOK;

int main()
{
    //TOK::people *p = new TOK::people();//利用TOK命名空間來定義p;
    people *p = new people();
    p -> say_hello();
    delete p;
    return 0;
}
</span>

也就是我加的那句using namespace TOK;

這樣我們的p就能用到TOK空間裏的內容了。


PS:不積跬步,無以至千里。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章