これはオンラインC++テスト質問:派生クラスのメソッドを再定義するプログラミング言語の機能は何ですか?
_派生クラスのメソッドを再定義するプログラミング言語の能力を指しますか?
A:
Bファクタリング:継承
C:
Dのオーバーロード:カプセル化
私の考え:
誰が正しいありません。 Cがオーバーライドしている場合は、正解です。
右か?
ありがとう
これはオンラインC++テスト質問:派生クラスのメソッドを再定義するプログラミング言語の機能は何ですか?
_派生クラスのメソッドを再定義するプログラミング言語の能力を指しますか?
A:
Bファクタリング:継承
C:
Dのオーバーロード:カプセル化
私の考え:
誰が正しいありません。 Cがオーバーライドしている場合は、正解です。
右か?
ありがとう
私はC
と言っています。なぜなら、 "redefine methods"というフレーズは私に "オーバーライド"を提案していないからです。あなたが何かを "再定義する"とき、あなたは "過負荷"が何であるかの一部であるオリジナルとは異なる何かにそれを変更しています。派生クラスは、異なる署名でベースクラスのメソッドをオーバーロードすることができ、別のメソッドにします。通常、これは基本クラスのメソッドを隠しますが、C++のusing
ステートメントなどをスキップして、派生クラスに両方のメソッドを持たせることができます。
私はそれをテスト問題のタイプミスとみなします。
継承は私には良い答えのようですが、あなたはクラスを派生できると仮定しているようです。
うん!サウンドのオーバーライド私は、演算子のオーバーロードのようにオーバーロードを考えていました。これは、あるタイプの演算子のデフォルトの動作を置き換えます。しかし、継承は与えられた文に適合します。 –
オーバーロードとは、異なる署名に対して同じ名前の複数の関数を意味します。私は彼らが間違って継承と関連付けているのだろうかと思っているので、リストにない以外は、オーバーライドは正解になります。 – birryree
私はあなたが正しいと思います。答えは、上書き、隠蔽、多型です。 –