可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告(forward declaration)。在宣告之後,定義之前,類screen是乙個不完全型別(incompete type),即已知screen是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完全型別只能用於定義指向該型別的指標及引用,或者用於宣告(而不是定義)使用該型別作為形參型別或返回型別的函式。
類的前向宣告只適用於指標和引用的定義,如果是普通類型別就得使用include了:
class a; // a被宣告了,但沒被定義。
class b // b被宣告、定義
#include "a.h"
class b
不必要的 #include<> 會增加編譯時間;
混亂隨意的 #include<> 可能導致迴圈#include,可能出現編譯錯誤。
c 中的前向宣告
前向宣告 可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告 forward declaration 在宣告之後,定義之前,類screen是乙個不完全型別 incompete type 即已知screen是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完...
C 中的前向宣告
前向宣告 可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告 forward declaration 在宣告之後,定義之前,類screen是乙個不完全型別 incompete type 即已知screen是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完...
c 中的前向宣告
1 不必要的 include 會增加編譯時間.2 混亂隨意的 include可能導致迴圈 include,可能出現編譯錯誤.可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告 forward declaration 在宣告之後,定義之前,類screen是乙個不完全型別 incompete ty...