我有一个类Car,它继承了QList < int>。我想知道如何使用我刚刚继承的QList?C++继承-QList
从我的业余爱好者对如何使用继承的理解中,如果Car继承了Vehicle,我将通过使用Vehicle :: getWheels()来访问Vehicle的方法。如果我继承QList,这将如何工作?
我有一个类Car,它继承了QList < int>。我想知道如何使用我刚刚继承的QList?C++继承-QList
从我的业余爱好者对如何使用继承的理解中,如果Car继承了Vehicle,我将通过使用Vehicle :: getWheels()来访问Vehicle的方法。如果我继承QList,这将如何工作?
如果你的汽车继承自Vehicle,你可以简单地使用继承的方法(如果你没有覆盖那些方法)。例如:
class Vehicle
{
int wheels_;
public:
Vehicle(int wheels=4)
: wheels_(wheels)
{
}
int getWheels() const { return wheels_; }
};
class Car: public Vehicle
{
};
Car myCar;
myCar.getWheels();
因此,对于你的问题,你可以简单地使用QList<int>
成员没有被明确的,如果你的类是decleared为class Car : public QList<int> { ... };
。
从像QList这样的容器继承是没有意义的。它没有可以重新实现的虚拟方法。更好地遵循“继承构成”规则,并使QList成为成员。 – 2012-03-13 17:57:30
我完全同意弗兰克奥斯特费尔德 - 谢谢他。从容器中类继承时要非常小心,并重新分析您的设计:遵循Frank提到的规则 – milyaaf 2012-03-14 06:39:13