パスワードを忘れた? アカウント作成
497485 journal

j3259の日記: 基底クラスのメソッドの呼び出し

日記 by j3259

普段 C++ を書いてないので基底クラスのメソッドの呼び出しを思い出せなかった。

    Application::onKeyPress(a_key, a_x, a_y);

つまり基底クラス名::メンバ関数名(パラメータ); が正解。よく考えてみたら C++ は多重継承してるから名指しするしか方法がない。

Delphi は inherited Foo; か inherited;
Java は super.s();
C# は base.GetInfo();
PHP5 は parent::myFunc();
Python は BaseClassName.methodname(self, arguments)
Ruby は super(1,2,3)
Perl は $barney->Critter::display("Height", "Weight"); もしくは $self->SUPER::display("Name", @args);

と各々好き勝手にやってます。これほどバラバラなのも珍しいんじゃないかな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...