原創個人理解:都可以做工具類,直接引用,命名空間 相對於include是可以擴展的
轉載
// 頭文件
namespace gyy
{
class gongy
{
private:
char name[10];
int age;
public:
gong(char iname[], int age);
void output();
};
}
// 實現文件
#include <string>
#include "tt.h"
using namespace std;
namespace gyy
{
gong::gong(char iname[], int iage)
{
strcpy(this->name, iname);
this->age = iage;
}
void gong::output()
{
printf("Name: %s\n", this->name);
printf("Age : %d\n", this->age);
}
}
這樣就創建了一個名字爲gyy的命名空間,以後用的時候只需要加入:
using namespace gyy;
轉載
http://book.51cto.com/art/201204/326981.htm
2.2.2 include預編譯指令和命名空間
《C++程序設計(第8版)》第2章C++基礎知識,本章將解釋更多的C++示範程序,展示C++語言足夠多的細節,便於你寫出簡單的C++程序。本節爲大家介紹include預編譯指令和命名空間。
2.2.2 include預編譯指令和命名空間
我們所有的程序都以下面這兩行代碼開始:
#include <iostream>
using namespace std;
這兩行使iostream庫進入可用狀態。cin和cout的定義就包含在這個庫中。所以,假如程序使用了cin或cout,就應該在程序文件起始位置包含上述兩行代碼。
下面這一行代碼稱爲include預編譯指令。它將iostream庫"包含"到程序中,使程序可以使用cin和cout:
#include <iostream>
using namespace std;
這個特定的using指令表明程序準備使用std(指standard)命名空間。這意味着你使用的名稱具有std命名空間爲其定義的含義。這兒的重點在於,cin和cout等名稱在iostream中定義時,它們的定義指出它們在std命名空間中。所以,要使用cin和cout等名稱,就要告訴編譯器你準備"using namespace std;"。
對於命名空間並不需要了解太多(就目前而言),但簡單地澄清一下,有助於解除你在使用命名空間時可能產生的一些困惑。C++之所以有命名空間,是因爲有太多的東西需要命名。結果就是,可能有兩個或者更多的項同名。換句話說,一個名稱可能具有兩個不同的定義。爲消除歧義,C++將不同的項劃分到不同的集合中,確保同一個集合(即同一個命名空間)中沒有任何兩個項同名。
注意,命名空間並不只是一個名稱集合。它代表了一個C++代碼主體,其中指定了某些名稱的含義(比如一些定義和/或聲明)。命名空間的作用是將所有C++名稱規範劃分成不同的集合(稱爲命名空間),使命名空間內的每個名稱在那個命名空間中都只有一個"規範"(一個定義)。命名空間對名稱進行劃分,但和那些名稱配合的還有大量C++代碼。
可以使用兩個命名空間中的兩個同名元素嗎?答案是肯定的,而且並不複雜,但那是本書後面要講的一個主題。目前不需要這樣做。
有的C++版本使用include預編譯指令的一種古老形式(沒有任何using namespace):
#include <iostream.h>
#include <iostream>
using namespace std;
#include <iostream.h>