У меня есть базовый класс
class BaseClass
{
public:
BaseClass(const <std::shared_ptr<inputClassForBase>>& input)
}
Я хотел бы создать производный класс так, чтобы вводимые им данные были получены из inputClassForBase, например:
class DerivedClass : public BaseClass
{
public:
DerivedClass(const <std::shared_ptr<inputClassForDerived>>& input)
:
BaseClass(input)
}
class inputClassForDerived: public inputClassForBase
{}
Как это сделать быть сделано? Я знаю, что в C# есть дженерики, но в C ++ гораздо сложнее установить ограничения для члена / аргумента класса. Я попытался пойти по пути превращения BaseClass в шаблонный класс, но затем мне кажется, что я могу использовать его как шаблон ИЛИ базовый класс, но не оба. Любое предложение?