-3
SearchTreeコンストラクタをT型パラメータで実装するには、そのスーパークラスを呼び出します。クラスがunique_ptrから派生した場合に基本コンストラクタを呼び出す方法
template <class T>
class SearchTree: protected unique_ptr<Node<T> >{
public:
SearchTree<T>();
SearchTree<T>(const T &); //How do I implement this ?
}
template <class T>
class Node{
friend class SearchTree<T>;
public:
Node<T>();
Node<T>(const T & sl_):sl(sl_){};
private:
const T sl;
SearchTree<T> left,right;
}
std :: unique_ptrから派生しません。そういうわけで、狂気は嘘です。それをカプセル化する。 –
学校での練習です。このコードが与えられています。私はコンストラクタを実装する必要があります... – Agnaroc
コピーコンストラクタを書くことはできません。適切なセマンティクスが何であるかを知る必要があります。 'unique_ptr'自体にはコピーコンストラクタがありません。なぜなら、ユニークであると思われるもののコピーを複数持つことは意味がないからです。これにはmoveコンストラクタがあります。したがって、1つの 'unique_ptr'オブジェクトだけが管理対象リソースへのポインタを保持します。だから、最初に行う必要があるのは、スレッシュホールドの質問に答えることです: 'SearchTree'オブジェクトをコピーすることはどういう意味ですか? –