簡體   English   中英

C ++循環依賴

[英]C++ circular dependency

我有一個對象類,一個異常類派生自它。 現在我想要一個對象類的方法拋出異常對象,但遇到無休止的“基類未定義”和“不完整類型”問題。 這甚至可能嗎?

謝謝。

碼:

class object
{

public:
    virtual ~object(){ }

    virtual bool equals(){ throw new exception; }
    virtual int getHash(){ throw new exception; }
    virtual void getType(){ throw new exception; }
};

class exception :
    public object
{
private:
public:
    exception();
    virtual ~exception();
    virtual const char* info();
};

不要在類中定義成員函數。 在定義了兩個類之后定義它。

在這種特定情況下,只需將類object的實現放在單獨的cpp文件中,只在頭中留下聲明。

您是否需要從對象類繼承異常類? 如果不需要單獨的cpp文件,可以在頭文件中的對象類之前定義異常類。

    class exception {  
        private:
        public:
            exception();
            // rest of your code
    };

    class object {
        public:
            virtual ~object() {}
            virtual bool equals() { throw exception(); }
            // rest of your code
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM