問題タブ [upcasting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java アップキャストのネストされた型パラメータ
Foo<String>
以下の Java コードを考えると、アップキャストがFoo<object>
機能しない理由を知りたいですか? 基本的に、Java に が のサブクラスである場合、はT
のサブクラスであることを伝えたいと思います。Scalaでこれを行う方法があることは知っていますが、Javaでこれを行う方法はありますか? そうでない場合、以下のコードをコンパイルするための回避策はありますか?S
Foo<T>
Foo<S>
c++ - null ポインターをアップキャストすると、未定義の動作が発生しますか
次のコードが未定義の動作につながるかどうか疑問に思っています:
java - Java ポリモーフィズム - 参照変数の問題
私はJavaとポリモーフィズムを学んでいます。私はJavaでブックヘッドスタートを使用しています。私はそれらを実験しようとしていました。呼び出すことができるメソッドは参照オブジェクトに依存することを学びました。そこで、このコードを作成しました
問題の原因の 1 つは、「Dog 3 テスト」がコンソールに表示されないことです。IT は Dog 2 まで正常に動作していますが、Dog 3 は動作していません。
ここに私の動物のクラスがあります
c++ - アップキャストによるプライベート関数の呼び出し
次のクラスでは、派生オブジェクトをベース ポインターにアップキャストします。次に、メインから派生した「プライベート」メンバー関数を呼び出すことができます。これはどのように可能ですか?私の推測では、関数を呼び出す (つまり、アクセスする) ことができるかどうかは、L 値 (Base* b) に基づいています。どの関数が呼び出されるかは、仮想であるため R-value(new Derived) に基づいています。誰かが私のためにこれを明確にしてもらえますか?
私の出力は
c++ - C++のアップキャストとダウンキャスト
私は基本クラスへのポインターをいじっていましたが、四角形のポインターを円のポインターにキャストし、四角形printradius()
から関数を呼び出しました! 誰かがこれが許可されている理由を説明できますか? ありがとう。
出力:
円の半径は 2