為了訪問其他編譯單元(如另一**檔案)中的變數或物件,對普通型別(包括基本資料類、結構和類),可以利用關鍵字extern,來使用這些變數或物件時;但是對模板型別,則必須在定義這些模板類物件和模板函式時,使用標準c++新增加的關鍵字export(匯出/出口/輸出)。例如:
extern int n;
extern struct point p;
extern class a a;
export templateclass stacks;
export templatevoid f (t& t)
一般是在標頭檔案中給出類的定義或全域性函式的宣告資訊,而在**檔案中給出具體的(類成員函式或全域性函式的)函式定義。然後在多個使用者**檔案中包含該標頭檔案後,就可以使用其中定義或宣告的類和函式。標頭檔案中一般不包含變數、結構和類物件的定義,因為這樣可能會導致重複定義的編譯錯誤。解決辦法是,在某個**檔案中進行定義,在其他使用者**檔案中用extern來引用它們。
但是對模板型別,則可以在標頭檔案中,宣告模板類和模板函式;在**檔案中,使用關鍵字export來定義具體的模板類物件和模板函式;然後在其他使用者**檔案中,包含宣告標頭檔案後,就可以使用該這些物件和函式了。例如:
// out.h:(宣告標頭檔案——只包含out函式的宣告資訊)
templatevoid out (const t& t);
// out.cpp:(定義**檔案——包含out函式的宣告[通過include]和定義等全部資訊)
#include
#include 「out.h」
export templatevoid out (const t& t)
使用者**檔案——包含函式的宣告標頭檔案後就可以使用該函式)
#include 「out.h」
C 中 export關鍵字的使用
為了訪問其他編譯單元 如另一 檔案 中的變數或物件,對普通型別 包括基本資料類 結構和類 可以利用關鍵字extern,來使用這些變數或物件時 但是對模板型別,則必須在定義這些模板類物件和模板函式時,使用標準c 新增加的關鍵字export 匯出 出口 輸出 例如 extern int n extern...
C 中this關鍵字的使用
保留字this僅限於在建構函式 類的方法和類的例項中使用,它有以下含義 在類的建構函式中出現的this作為乙個值型別,它表示對正在構造的物件本身的引用。在類的方法中出現的this作為乙個值型別,它表示對呼叫該方法的物件的引用。在結構的建構函式中出現的this作為乙個變數型別,它表示對正在構造的結構的...
C 中this關鍵字的使用
this的兩個作用 1 代表當前類的物件 2 在類當中顯示的呼叫本類的建構函式 例如以下兩個建構函式中 public students string name,char gender,int age,int chinese,int math,int english 為避免建構函式 的冗餘,我們可以使...