タイトルにあるように、CPP でクラスを「派生」させることは、Java でクラスを「拡張」することとほとんど同じです。
2 に答える
はい、同じ意味です。ただし、「派生」はextends
Java のように C++ のキーワードではありませんが、C++ 標準では「派生」という言葉を使用してサブクラスの概念を示しています。C++ での継承は、シンボルと、または:
のようなオプションのアクセス修飾子を使用して表現されます。public
private
C++ の継承は Java の継承よりも少し複雑です。これは、複数の継承がサポートされているため、仮想継承もオプションの 1 つです。
はい。Java には多重継承がないため、この言語ではもう少し冗長になる可能性があります。Javaclass D extends B
はclass D : public B
C++ にありますが、C++ では のような継承も可能ですstruct D : B1, private B2, protected B3
。
同様に、Java ではsuper
(一意の) ベース サブオブジェクトを参照します。当然のことながら、C++ にはこれに匹敵する概念はありません (名前でベースを指定する必要があります)。
implements
( Java にも専用のインターフェイスクラスがあることに注意してください。これらにはメンバーがなく、抽象関数のみがあるため、派生 (つまり、「実装」) クラスからこれらのインターフェイス ベースを参照する必要はありません。)