データ型を隠して情報を格納する次の3つのクラスがある場合、 仮想デストラクタが必要ですか?私はいいえを信じるように導かれましたが、今はわかりません。 可能な場合は、事前の成果のために私はむしろそれを含めません。クラスは、例えば酒のために取り除かれました。 auto_ptr
でクローキングパターンを使用する場合は仮想デストラクタが必要ですか?
#include <memory>
class DarkHideInterface
{
public:
bool test;
};
template <typename T>
class DarkHideInterfaceImpl : public DarkHideInterface
{
public:
DarkHideInterfaceImpl (const T& t) : _t(t) {}
private:
T _t;
};
class DarkHide
{
public:
template <class T> DarkHide (const T& t) : p_(new DarkHideInterfaceImpl<T>(t)) { }
private:
std::auto_ptr<DarkHideInterface> p_;
};
ありがとう、これは私にとって意味があります。新しい0x標準のunique_ptrが同じように動作するかどうか疑問に思っていました。 – bjackfly