c++ - 如何转发声明从另一个类C++继承的类?

标签 c++ inheritance forward-declaration

我创建了一个具有一堆继承的类(父类)的类,以便可以使用多态性,但是问题是有两个类相互调用。

因此,我需要向前声明它们,并且我可以向前声明一个类,但是当我向前声明继承的类时,编译器说它不能将指针从一个更改为另一个。

有没有办法对继承的类进行前向声明,使其声明继承自该类?
例如:

class Shape;
class Circle:Shape;

最佳答案

进行前向声明时,无需在类名称之后指定族树。

class Shape;
class Circle;
class Rectangle;

当声明使用继承的类时,编译器将欣赏父类的完整声明。

经验法则是可以使用正向声明来解析指针和引用的声明类型。任何通过指针或引用访问类元素的代码都需要完整的类声明。

关于c++ - 如何转发声明从另一个类C++继承的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107845/

相关文章:

python - Python 中的类继承、 super 方法和重写方法

c++-cli - 如何在C++/CLI中转发声明属性?

c++ - 两个单独文件中另一个类的类方法 friend

c++ - 什么相当于 MPI 中的套接字编程的 select()?

c++ - 如何让 Netbeans 从项目中删除已删除的文件?

c++ - 错误的 'for' 循环结果 C++

c++ - 未初始化的局部变量

Java数组继承困惑

css - 可以:before and :after pseudo-elements inherit height from the parent element?