У меня есть два независимых иерархии классов, начиная с BaseClass1
, BaseClass2
производных классов на картах
это то, что я хочу сделать:
struct BaseClass1 {
virtual void obtain_map(std::map<int,BaseClass2> &map) = 0;
}
подклассов BaseClass1
переопределения obtain_map
. Но проблема в том, что эти подклассы должны иметь возможность использовать подклассы BaseClass2
в параметре map
. (Итак, в этом смысле подклассы двух «независимых» иерархий на самом деле связаны, или, скорее, могут быть, если хотят разработчики подкласса)
Как это сделать, или я вынужден создать собственный класс map
с нуля ?
Но кто несет ответственность за освобождение указателя? Это проблема с этими случайными «хаками», не так ли ... :(или это какой-то известный шаблон дизайна в мире C++? – user2015453
@ user2015453 Это не случайный взлом. 'Std :: unique_ptr' управляет освобождение памяти, когда оно выходит за рамки. – Foggzie