Fri*_*igo -1 c++ inheritance dependencies header class
有一个带有clone()函数的Object类可以抛出CloneNotSupportedException*并且声明为此类.CloneNotSupportedException派生自Exception,它派生自Object.
继承需要完整的类型,我们有两个,所以显然我们不能打破那里的循环依赖.成员指针和指针参数是不完整类型的内容,但这对于throw声明来说似乎是不够的,即使我们抛出指针也是如此.
类定义与实现分开,使用前向声明,指向各处.这还不够.
有没有办法打破这种依赖,或者这在C++中是不可能的?
跳过异常规范,它毫无价值.
class Object {
virtual Object* clone() = 0;
virtual ~Object() {}
};
Run Code Online (Sandbox Code Playgroud)
完成.
顺便说一句,你的设计听起来完全错误,我不能让自己不去评论它.
归档时间: |
|
查看次数: |
524 次 |
最近记录: |