[英]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.