前向引用宣告
c++中類應該先宣告後使用,但當**中有兩個類需要相互引用的時候,不管哪乙個類宣告在前,都會導致類未定義的編譯錯誤。
例:
classa;
class
b;
如果需要在某個類的宣告之前,引用該類,則應該進行前向引用宣告,例:
classb;
//前向引用宣告
classa;
class
b;
前向引用宣告只是為程式引入乙個識別符號,但具體宣告在其他地方。
前向引用宣告注意事項
.在提供乙個完整的類宣告之前,不能宣告該類的物件,也不能在內聯成員函式中使用該類的物件。
.當使用前向引用宣告時,只能使用被宣告的符號,而不能涉及類的任何細節,因為被引用的類宣告並不完善,類的資訊不完整,如佔位元組數等,如:
#include
classb;
using
namespace std;
classa;
class
b;
補足措施
#include
classb;
using
namespace std;
classa;
class
b;
注:實際上兩個類相互呼叫的情況比較少 C 前向引用宣告
c 當中當有兩個類需要相互引用的時候,不管哪乙個類宣告在前,都會導致類未定義的編譯錯誤。這時候就需要用到類的前向引用宣告,下面的例子中,類a中需要使用類b,但是類b的完整宣告是在a之後,這時在類a的完整宣告之前加一句class b 告訴編譯器b是乙個類名,之後在類a中就可以使用類b作為函式引數了。c...
c 中的前向宣告
前向宣告 可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告 forward declaration 在宣告之後,定義之前,類screen是乙個不完全型別 incompete type 即已知screen是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完...
C 中的前向宣告
前向宣告 可以宣告乙個類而不定義它。這個宣告,有時候被稱為前向宣告 forward declaration 在宣告之後,定義之前,類screen是乙個不完全型別 incompete type 即已知screen是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完...