in C++;从派生类通过未覆盖的基类调用函数
即使函数未被覆盖,是否有从派生类通过基类 调用函数的方法?换句话说,我在 中使用了一个基类,以便让异构容器没有提升;我想打电话给一个成员函数 是只有特定的派生类...
例子: (我刚才提出这个代码了所以有可能是一个语法错误,但希望你得到的要点)
class Vehicle
{
public:
virtual void do_vehicle_stuff();
// virtual void do_car_specific_stuff(); makes no sense here
}
class Car : public Vehicle
{
public:
void do_vehicle_stuff();
void do_car_specific_stuff();
}
Car a,b;
list<Vehicle> vehicle_list;
vehicle_list.push_back(a);
vehicle_list.push_back(b);
vehicle_list.front().do_car_specific_stuff();
错误:“车辆类别”中有一个名为“do_car_specific_stuff)(”
这可能帮助:http://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast – chris
当然,它要抽象的东西来了解具体事情的细节是没有意义的? –
我知道下面的pmr片段切片,但无法找到一个适当的解决方法.. – user1871298