-2

これはアップキャストですか?そうでない場合は、その理由を説明してください。前もって感謝します。

C++ コード:

Base base;
Derived derived;
base = derived; // is this the upcast? 
4

2 に答える 2

1

あまり。

暗黙の「アップキャスト」は、次のようなものにすることができます

Derived derived;
Base& base = derived;

Base&は別のBaseオブジェクトではなく、他のオブジェクト( に含まれているもの)への参照であることに注意してください。Basederived

実際、あなたがしたことは、別の Baseを作成し、そのBaseサブコンポーネントの派生をコピーすることです。

それにはまだ暗黙のアップキャストが必要ですが、それ以降、あなたbaseはもう関係ありませんderived

于 2014-08-13T17:03:35.390 に答える