【发布时间】:2018-05-18 04:22:26
【问题描述】:
我是 C++ 新手,因此需要一些帮助。 代码如下:
class InterfaceVehicle
{
virtual int door() = 0;
virtual int seats() = 0;
virtual int enginepower() = 0;
}
class minicar: public InterfaceVehicle
{
int door () {return 4;}
int seats () {return 2;}
int enginepower () {return 10;}
}
class bigcar: public InterfaceVehicle
{
int door () {return 4;}
int seats () {return 5;}
int engine () {return 20;}
}
class truck: public InterfaceVehicle
{
int door () {return 2;}
int seats () {return 1;}
int engine () {return 50;}
}
我有一个名为 Vehicle 的接口基类和三个不同的类,它们实现了接口类的所有功能。在这里,我想避免门功能的相同实现。 我得到了一些建议,希望有一个新的类来实现这个门功能,这个类将被聚合到 bigcar 和 minicar 中。这样我可以避免门()的这种复制粘贴实现;我喜欢这个主意!
能否举个例子说明我如何实现它? 我阅读了很多关于聚合的内容,但不明白如何在我的情况下实现它。
【问题讨论】:
标签: c++ class polymorphism virtual aggregation