2012-02-24 10 views
2

これはオンラインC++テスト質問:派生クラスのメソッドを再定義するプログラミング言語の機能は何ですか?

_派生クラスのメソッドを再定義するプログラミング言語の能力を指しますか?

A:

Bファクタリング:継承

C:

Dのオーバーロード:カプセル化

私の考え:

誰が正しいありません。 Cがオーバーライドしている場合は、正解です。

右か?

ありがとう

+1

うん!サウンドのオーバーライド私は、演算子のオーバーロードのようにオーバーロードを考えていました。これは、あるタイプの演算子のデフォルトの動作を置き換えます。しかし、継承は与えられた文に適合します。 –

+3

オーバーロードとは、異なる署名に対して同じ名前の複数の関数を意味します。私は彼らが間違って継承と関連付けているのだろうかと思っているので、リストにない以外は、オーバーライドは正解になります。 – birryree

+0

私はあなたが正しいと思います。答えは、上書き、隠蔽、多型です。 –

答えて

1

私はCと言っています。なぜなら、 "redefine methods"というフレーズは私に "オーバーライド"を提案していないからです。あなたが何かを "再定義する"とき、あなたは "過負荷"が何であるかの一部であるオリジナルとは異なる何かにそれを変更しています。派生クラスは、異なる署名でベースクラスのメソッドをオーバーロードすることができ、別のメソッドにします。通常、これは基本クラスのメソッドを隠しますが、C++のusingステートメントなどをスキップして、派生クラスに両方のメソッドを持たせることができます。

0

私はそれをテスト問題のタイプミスとみなします。

0

継承は私には良い答えのようですが、あなたはクラスを派生できると仮定しているようです。

関連する問題