これは私の母国語からの翻訳です。
クラスがあります:
class Boo : public SuperBoo {
Foo* fFoo1;
Foo* fFoo2;
}
Foo - モノモーフィック クラスで、Boo はポインター fFoo1、fFoo2 を所有します。
Boo の割り当て演算子をオーバーロードします。
私の解決策は次のとおりです。
class Foo
{
public:
Foo()
{}
};
class SuperBoo
{
public:
virtual ~SuperBoo()
{}
};
class Boo : public SuperBoo
{
public:
Boo(const int f1_id, const int f2_id)
{
f1 = new Foo(f1_id);
f2 = new Foo(f2_id);
}
~Boo()
{
delete f1;
delete f2;
}
/* C++11 only
Boo(Boo&& other)
{
std::swap(*this, other);
}
*/
Boo(const Boo& other)
{
f1 = new Foo(*(other.f1));
f2 = new Foo(*(other.f2));
}
Boo& operator=(Boo other)
{
std::swap(f1, other.f1);
std::swap(f2, other.f2);
return *this;
}
private:
Foo* f1;
Foo* f2;
};
しかし、雇用主はそれを好まなかった。ここで何が問題なのですか?手伝ってくれてありがとう。