我对C++还比较新,但遇到了一个问题,似乎无法解决。 为了更好地说明问题,我将使用汽车作为示例。 假设我有一个基类Car,并且有不同的品牌从该类继承。就像这样:
class Car
{
public:
Car();
};
class Ford: public Car
{
public:
Ford();
void drive();
void park();
};
整个想法是将所有不同类型的汽车放在一个名为Car的向量中。如下所示:
整个想法是将所有不同类型的汽车放在一个名为Car的向量中。如下所示:
vector<Car*> cars;
cars.push_back(new Ford());
cars.back()->drive(); //this won't work
我如何在基类实例上调用派生函数?请注意,我想将所有这些放在一个单一的向量中。其原因是因为我只想使用已添加的最后一个派生汽车类实例(在这种情况下,派生汽车类是福特)。还要注意,所有汽车类将具有相同的功能。