0

タイトルにあるように、CPP でクラスを「派生」させることは、Java でクラスを「拡張」することとほとんど同じです。

4

2 に答える 2

2

はい、同じ意味です。ただし、「派生」はextendsJava のように C++ のキーワードではありませんが、C++ 標準では「派生」という言葉を使用してサブクラスの概念を示しています。C++ での継承は、シンボルと、または:のようなオプションのアクセス修飾子を使用して表現されます。publicprivate

C++ の継承は Java の継承よりも少し複雑です。これは、複数の継承がサポートされているため、仮想継承もオプションの 1 つです。

于 2012-08-22T23:49:44.713 に答える
2

はい。Java には多重継承がないため、この言語ではもう少し冗長になる可能性があります。Javaclass D extends Bclass D : public BC++ にありますが、C++ では のような継承も可能ですstruct D : B1, private B2, protected B3

同様に、Java ではsuper(一意の) ベース サブオブジェクトを参照します。当然のことながら、C++ にはこれに匹敵する概念はありません (名前でベースを指定する必要があります)。

implements( Java にも専用のインターフェイスクラスがあることに注意してください。これらにはメンバーがなく、抽象関数のみがあるため、派生 (つまり、「実装」) クラスからこれらのインターフェイス ベースを参照する必要はありません。)

于 2012-08-22T23:52:26.007 に答える