У меня есть шаблонный класс, определенный так:
template <class T>
class Command {
public:
virtual T HandleSuccess(std::string response) = 0;
virtual std::string FullCommand() const = 0;
// ... other methods here ...
};
Позволит ли C ++ создавать не шаблонный подкласс шаблонного класса? Я имею в виду, могу ли я сделать что-то вроде этого:
class NoopCommand : public Command<NoopResult> {
public:
NoopResult HandleSuccess(std::string response);
std::string FullCommand() const;
// ... other methods here ...
};
Так как это не работает для меня, потому что он говорит, что следующие виртуальные функции не определены:
T admix::Command<T>::HandleSuccess(std::string) [with T = admix::NoopResult]
std::string admix::Command<T>::FullCommand() const [with T = admix::NoopResult]
Как я могу конкретно определить их для данного T?