【发布时间】:2012-04-16 00:30:35
【问题描述】:
我对 C++ 还很陌生,但我遇到了一个我似乎无法解决的问题。 我将用汽车来说明问题,只是为了让事情变得更容易。 好的,可以说我有一个基类 Car,并且我有从该类继承的不同品牌。像这样:
class Car
{
public:
Car();
};
class Ford: public Car
{
public:
Ford();
void drive();
void park();
};
整个想法是将所有这些不同的汽车放在一个 Car 类型的向量中。像这样:
vector<Car*> cars;
cars.push_back(new Ford());
cars.back()->drive(); //this won't work
如何在基类实例上调用派生函数?请注意,我想将这些都放在一个向量中。这背后的原因是因为我只想使用已添加的最后一个派生汽车类实例。(在这种情况下,派生汽车类是福特)。另请注意,所有汽车类都将具有相同的功能。
【问题讨论】:
标签: c++ function vector derived-class