0

私はウィキペディアでこの定義を読んだことがありますが、英語で簡単に理解したいのですが、これらはウィキペディアで読んだ定義です。

aまたはは、virtual functionまたはその動作は、継承するクラス内で同じシグニチャを持つ関数によってオーバーライドできます。」virtual methodfunctionmethod

「またははpure virtual function、抽象ではない派生クラスによって実装される必要pure virtual methodがあるaです」virtual function

私の他の質問は、私が持っている場合にのみvirtual methodclass Aまたはでのみ実行できる方法です....私は多くの本を読んだことがあり、これはここのいくつかの質問と重複する可能性があると人々が言っ​​ていることを知っていますが、私は本当に簡単な英語で理解したいですそれは私が物事を簡単かつ迅速に知る方法だからです。class Bclass Aclass B

4

1 に答える 1

2

基本クラスの非仮想メソッドは、それを継承するサブクラスによってオーバーライドできません。(これは、サブクラスでメソッドを「再定義」することとは異なることに注意してください)

基本クラスの仮想メソッドは、サブクラスによってオーバーライドできます。(可視性に関する @juanchopanza のコメントを参照private)

基本クラスの純粋な仮想メソッドは、それが「抽象化」であることを意味します (インターフェイスのみと考えてください)。つまり、そのまま直接使用することは想定されていませんが、基本クラスはサブクラスがメソッドをオーバーライドしてメソッドをオーバーライドすることを期待しています。実際の実装を提供します。

于 2012-12-08T18:40:58.667 に答える