C 中的前向引用宣告與補足措施(物件指標)

2021-10-19 15:01:55 字數 772 閱讀 7981

前向引用宣告

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是乙個型別,但不知道包含哪些成員。不完全型別只能以有限方式使用,不能定義該型別的物件,不完...