一千萬個為什麽

搜索

兩個類包含彼此的對象


我希望有一個簡單的答案。 沒有太復雜我有兩個班。一個“動物”和一個“細胞” Cell包含Animal作為成員。 Animal擁有在其參數中接受Cell的方法。

我只是混淆了我如何#include每個類別的其他標題? 我只需要上一系列課程,只是在下一個課程中包含最後一個課程,依此類推,但這種循環情況讓我有點迷失。

我希望這是有道理的,任何幫助都非常感激。

最佳答案

您可以使用前向聲明來克服循環引用的問題。

例:

//animal.h

#include "cell.h"

class Animal {
public:
    void foo (Cell cell);
}

// cell.h

class Animal;//forward declaration

class Cell {
private:
    Animal * m_animal;//pointer to Animal object
}

轉載註明原文: 兩個類包含彼此的對象

猜你喜歡