このプログラムで継承されたchar*
属性を削除しようとしています:
イン・アー
class A {
public :
// Functions, constructors and such
private :
char* attribute;
}
Bh で
#include "A.h"
class B : public A {
public :
B(const char* _attribute, int s) : A(_attribute) {setSpeed(s);}
~B()
private :
int speed;
}
次のようなデストラクタで delete [] を使用します。
B::~B() {
delete [] attribute;
}
しかし、私はこのエラーを受け取ります: `char*A::attribute' は非公開です
A のデストラクター ( ~A()
) で、同じ「destroy [] 属性」を使用すると、機能します...