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();
エラー: 'Class Vehicle' には 'do_car_specific_stuff()' という名前のメンバーがありません