問題タブ [object-slicing]

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 投票する
3 に答える
2191 参照

c++ - 共有ポインタへの参照の変換

私は次のような機能を持っています

これは、派生クラスを渡すことによって呼び出されます。

私が抱えている問題は、ノードをベクトルに格納したいということです。私はこれを持っています

と関数

これは機能せず、ポインターとして保存する必要があります。そうしないと、オブジェクトのスライスが発生します。API を変更してポインターを渡す必要がありますか? 少しでも変えたい。

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

c++ - 継承またはオブジェクトのスライス?

私はこれについて多くのことを読みましたが、Playerオブジェクトが機能を失っている理由を理解できませんdraw

オブジェクトクラス:

プレイヤークラス:

このコードを実行すると:

出力は次のとおりObject drawです。Player drawオブジェクトがオーバーライドされていないか、関数を通過するときにオブジェクトがスライスされていると予想されます。

0 投票する
4 に答える
416 参照

c++ - 「テンプレート」ができる理由void f(T& t)" は T の関数をオーバーライドしますが、"テンプレートvoid f(T t)" はできませんか?

子クラス B を持つクラス A があり、A と B の仮想関数を呼び出すテンプレート関数を作成したいと考えています。

A のみを出力し、test() をオーバーライドしないようですが、変更すると

そのように:

、それはBを出力します、なぜそれが起こるのでしょうか?

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

c++ - 子オブジェクトを保持する親クラスのオブジェクトの動的配列

Mammal親クラス があります。DogCatLionはサブクラスです。

ベクトルを使用して、すべてのサブクラスをMammalオブジェクトとして保持しています

そして、この行を使用して新しいオブジェクトをベクターに追加します。

どうやらうまくいきません。Error no instance of overload functionコンパイル中にスローされます。私は C++ を初めて使用するので、親クラスの配列を動的に作成してすべての子オブジェクトを保持する正しい方法がわからない

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

python - pandas、複数の条件でマルチインデックス df をスライスする

この質問は、日付が欠落しているパンダの再インデックスの続きです

直近 3 か月 (2015-12、2015-11、2015-10) の値の合計を計算したいと考えています。株式に十分なデータがない場合、つまり 3 か月のうちの 1 か月または 2 か月がない場合、その合計の値を NaN にしたいと考えています。

スライスして group by と sum を実行することはできますが、この 3 か月間にデータがなかった株式を除外した可能性があり、1 つまたは 2 つの株式を考慮していない可能性があるため、これは私が望むものではありません。月。

マルチ loc ステートメントが必要だと思いますが、いじくり回して、必要な結果を得ることができませんでした。

0 投票する
1 に答える
81 参照

c++ - オブジェクトのスライス : 基本クラス オブジェクトから派生したクラス メソッドにアクセスする

編集

  1. 問題はGoFish.hファイルにあります。具体的にはコンストラクターで、プレイヤー オブジェクトをインスタンス化しようとしています。

  2. コンパイラは次のエラー メッセージをスローします: 「プレーヤー」に「noOfBooks」という名前のメンバーはありません

オブジェクトのスライスは、初心者にとって OOP で最もあいまいな概念の 1 つです。私は C++ でこのカード ゲームに取り組んできました。ここには、Playerという基本クラスとGoFishPlayerという派生クラスがあります。Player オブジェクトを参照している GoFishPlayer オブジェクトのメソッドにアクセスしようとすると、プログラムは派生クラスの特定のメソッドと属性を切り離して、ベース オブジェクトのクローンにする傾向があります。この問題を克服する方法はありますか?

ゲーム.h

抽象クラス Game : GoFish と CrazyEights の両方のゲームの基盤を形成します

GoFish.h

派生クラス GoFish - Game クラスから派生した Player オブジェクトをインスタンス化しようとすると、コンストラクターに問題があります。

Player.h

GoFishPlayer.h

0 投票する
1 に答える
190 参照

c++ - CRTP 使用時のオブジェクトのスライス

CRTP を使用すると、オブジェクトのスライスの問題が発生します。次のモックは、私の問題を示しています。

上記のコードをコンパイルすると、次のエラーが発生します。

CrtpDirv1 および CrtpDirv2 クラスを CrtpGenr にキャストできるようにしたいと考えています。これは、タイプ CrtpGenr のコンテナーを定義して、CrtpDirv1 または CrtpDirv2 のいずれかのオブジェクトを保持できるようにするためです。私は何を間違っていますか?