問題タブ [run-time-polymorphism]

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.

0 投票する
0 に答える
68 参照

c# - C#でIListを使用して親を子に型キャストする方法

以下はC#.Netの私のDTOです

IEnumerable で子エンティティを持つブログを初期化すると、エラーや明示的な変換は必要ありません。つまり、

しかし、何らかの理由で、IEnumerable の代わりに IList を使用する必要があります。

しかし、更新されたときに & 子エンティティで割り当てようとしました

でマッピングIList<Parent>する方法はIList<Child>

ありがとう!

0 投票する
2 に答える
72 参照

c++ - 基本クラスのポインターが、派生クラスのオーバーライドされたメソッドではなく、基本クラスの純粋仮想メソッドを指すのはなぜですか?

のコンストラクターがFooのオブジェクトへの参照を受け取る場合B、このプログラムは期待どおりに実行されます。つまり、 をa_ptr->foo()呼び出しますB::foo()

ただし、値によってパラメーターを受け入れるようにコンストラクターが変更された場合、 は にa_ptr->foo()解決されA::foo()、結果はpure virtual method called exception

サンプル出力 (参照渡し:):

出力例 (値渡し):

なぜこれが起こっているのかについて漠然とした予感があり、私の仮説を証明または反証する可能性のある文献または参考文献を探していますa_ptr。に電話しa_ptr->foo()ます。

ただし、値で渡されa_ptrた場合、コンストラクターが終了すると失われる一時を指します。

VTABLEこれはofと関係があると思いますがA、指を置くことはできません。

0 投票する
0 に答える
61 参照

rust - Rc をアップキャストする方法

をアップキャストすることは可能Rc<dyn Foo>ですか? そうでない場合、なぜですか?

結果は