Недавно я стал глупым разработчиком, поэтому я сделал решительный шаг, получил книгу по C ++ и научился делать вещи правильно. В голове я знаю, что хочу делать. Мне действительно нужен интерфейс
, который при наследовании должен быть переопределен (если это возможно?). Пока у меня есть следующее:
class ICommand{
public:
// Virtual constructor. Needs to take a name as parameter
//virtual ICommand(char*) =0;
// Virtual destructor, prevents memory leaks by forcing clean up on derived classes?
//virtual ~ICommand() =0;
virtual void CallMe() =0;
virtual void CallMe2() =0;
};
class MyCommand : public ICommand
{
public:
// Is this correct?
MyCommand(char* Name) { /* do stuff */ }
virtual void CallMe() {}
virtual void CallMe2() {}
};
Я намеренно оставил то, как, по моему мнению, конструктор / деструктор должен быть реализован в ICommand
. Я знаю, что если я удалю комментарии, он не будет компилироваться. Пожалуйста, мог бы кто-нибудь:
ICommand
и как они предназначены для использования в MyCommand
ICommand
, так что MyCommand
должен перекрывать CallMe
и CallMe2
. Надеюсь, я не пропустил что-то действительно простое ...