パスワードを忘れた? アカウント作成
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

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...