我有一个对象类,一个异常类派生自它。 现在我想要一个对象类的方法抛出异常对象,但遇到无休止的“基类未定义”和“不完整类型”问题。这甚至可能吗?
感谢。
代码:
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();
};
答案 0 :(得分:1)
不要在班级中定义成员函数。在定义了两个类之后定义它。
答案 1 :(得分:1)
在这种特定情况下,只需将类object
的实现放在一个单独的cpp文件中,只在标题中留下声明。
答案 2 :(得分:0)
您是否需要从对象类继承异常类?如果不需要单独的cpp文件,可以在头文件中的对象类之前定义异常类。
class exception {
private:
public:
exception();
// rest of your code
};
class object {
public:
virtual ~object() {}
virtual bool equals() { throw exception(); }
// rest of your code
};