-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' сам не имеет конструктора копирования, потому что нет смысла иметь несколько копий того, что должно быть уникальным. Он имеет конструктор перемещения, так что только один объект 'unique_ptr' содержит указатель на управляемый ресурс. Итак, первое, что вам нужно сделать, это ответить на пороговый вопрос: что значит копировать объект «SearchTree»? –