ページ 11

C++のオーバーライドで機能追加

Posted: 2014年6月12日(木) 19:41
by OROCHI
こんにちは。オーバーライドに関する質問です
C#の場合、以下のように継承したとします

コード:

class car{
     public virtural void DrawSpec()
     {
           Console.WriteLine("car");
     }
};

class taxi : car{
    public override void DrawSpec()
    {
          base.DrawSpec();
          Console.WriteLine("AutoDoor");
    }
};
というように、オーバーライドの継承元のクラスの処理を実行した後、継承先の処理を実行するという機能の追加ができますが、C++でこのようなことをすることは可能なのでしょうか?その場合はどのように表記したらよいでしょうか?よろしければご回答お願いします

Re: C++のオーバーライドで機能追加

Posted: 2014年6月12日(木) 20:19
by h2so5
基礎的なことなので質問するよりC++の入門書を買ってください。

コード:

class car {
public: 
	virtual void DrawSpec()
    {
        std::cout << "car";
    }
};
 
class taxi : public car {
public:
    void DrawSpec()
    {
        car::DrawSpec();
        std::cout << "AutoDoor";
    }
};

Re: C++のオーバーライドで機能追加

Posted: 2014年6月12日(木) 22:11
by OROCHI
すみません。ありがとうございました