JustyLightのプロフィール
@JustyLight JustyLight
ありがとう数0
質問数0
回答数1
- ベストアンサー数
- 0
- ベストアンサー率
- 0%
- お礼率
- 0%
- 登録日2003/06/23
- 基本クラスポインタ = new 派生クラス[i];
基本クラスのポインタ変数pbaseを宣言し、new演算子にて派生クラスの配列を動的に確保して、pbaseに代入した場合、delete[] pbaseは上手く動作するのでしょうか。 (Aのデストラクタは仮想関数にしてあるとしておきます) ------ex-start------ class A {}; class b:public A{}; main() { A * pbase pbase = new B[5]; delete[] pbase } ------ex-end------ 例えば、 class Aは12バイト class Bは20バイト である場合、配列のサイズが違うのに、delete[]でちゃんと開放されるのでしょうか。 それともnew/deleteは確保したサイズをシンボル毎に記憶しているのでしょうか。 どうもこの辺が曖昧で実装する時にあやふやになってしまいます。どなたかお知恵をお貸しくださいませ。
- ベストアンサー
- tamanegi_majin
- C・C++・C#
- 回答数3