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

时间:2015-03-17 19:18:13

标签: c++ inheritance forward-declaration

我创建了一个包含一堆继承类(父类)的类,这样我就可以使用多态,但问题是有两个类相互调用。

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

有没有办法对继承的类进行前向声明,以便它声明它是从它继承的? 例如:

class Shape;
class Circle:Shape;

1 个答案:

答案 0 :(得分:1)

在进行前向声明时,您不需要在类名之后指定族树。

class Shape;
class Circle;
class Rectangle;

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

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