我是C++的新手,但我遇到了一个似乎无法解决的问题.我将使用汽车来说明问题,只是为了让事情变得更容易.好的,我可以说我有一个基类Car,我有不同的品牌继承自该类.像这样:
class Car
{
public:
Car();
};
class Ford: public Car
{
public:
Ford();
void drive();
void park();
};
Run Code Online (Sandbox Code Playgroud)
整个想法是将所有这些不同的汽车放在一起,形成一个Car类型的矢量.像这样:
vector<Car*> cars;
cars.push_back(new Ford());
cars.back()->drive(); //this won't work
Run Code Online (Sandbox Code Playgroud)
如何在基类实例上调用派生函数?请注意,我想将这些全部放在一个向量中.这背后的原因是因为我只想使用已经添加的最后一个派生汽车类实例.(在这种情况下,派生汽车类是福特).另请注意,所有车型都具有相同的功能.