既存クラスを呼び出すか継承クラスを呼び出すかif関数で選択し、仮想関数を実行
既存クラスOperationManagerを継承したクラスMethod_Aがあるとする。
既存クラスを呼び出すか、継承したクラスを呼び出すか、メイン関数からifで選択するようにした時のコードは以下の通り。
int main() { bool keisyou= true; OperationManager *operation; if (keisyou) operation= new Method_A(); else operation= new OperationManager (); operation->function(); return 0; }
呼び出すクラスを指定したのち、仮想関数function()を実行している。
OperationManager.h ↓
class OperationManager { virtual void function() { //何らかの処理 } }
Method_A.h ↓
class Method_A:public OperationManager { virtual void function() { //何らかの処理(既存クラスのfunction()とは中身が異なってもよい) } } };