C 兩個類相互包含引用的問題

2022-08-17 06:39:19 字數 1218 閱讀 6330

class

a

class

b

class

a

class

b

//class a.h

#include

"b.h"

class

a

//class b.h

#include

"a.h"

class

b

怎麼辦?

一般的做法是:兩個類的標頭檔案之中,選乙個包含另乙個類的標頭檔案,但另乙個標頭檔案中只能採用class *;的申明形式,而在實現檔案中(*.cpp)中包含標頭檔案,如下:

//

classa.

h

#include

"b.h"

class

a

//class b.h

class

a;

class

b

//在b.cpp中的檔案包含處要有下面語句,否則不能呼叫成員a的任何內容

#include

"a.h"

b::b

()

而且,在b.h中,由於是採用的class a;進行宣告的方式,所以在class b的宣告中只能定義a的指標或引用。

來自為知筆記(wiz)

c 兩個類相互包含引用的問題

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如 定義了類a類b,a中使用了b定義的型別,b中也使用了a定義的型別 class a class b 請注意上面的定義內容,一般情況下是不能出現類a,類b相互引用都定義物件,即如下的樣子 class a class b 在這種情況下,想想可以...

兩個類相互包含引用的問題

在構造自己的類時,有可能會碰到兩個類之間的相互引用問題,例如 定義了類a類b,a中使用了b定義的型別,b中也使用了a定義的型別 class a class b 請注意上面的定義內容,一般情況下是不能出現類a,類b相互引用都定義物件,即如下的樣子 class a class b 在這種情況下,想想能夠...

兩個類相互包含引用的問題

1 背景 程式設計中遇到如下錯誤 使用不完全型別 以及 前向宣告。查詢相關資料後發現是類的前向宣告 forward declaration 問題 在程式中宣告乙個類後,此類是乙個不完全型別 incompete type 即已知此類是乙個型別,但不知道包含哪些成員。不完全型別 只能以有限方式使用,不能...