fork download
  1. template <class Receiver>
  2. class Command
  3. {
  4. virtual void Execute() = 0;
  5. };
  6.  
  7. class Launcher
  8. {};
  9.  
  10. class LauncherCommand : public Command<Launcher>
  11. {
  12. virtual void Execute() override {}
  13. };
  14.  
  15. class LauncherCommandChangeSimulation : public LauncherCommand
  16. {};
  17.  
  18. class Menu
  19. {
  20. public:
  21. template <class T>
  22. void AddLeaf(Command<T> &command, const int parentId)
  23. {}
  24. };
  25.  
  26. int main()
  27. {
  28. LauncherCommandChangeSimulation command;
  29. Menu menu;
  30.  
  31. menu.AddLeaf(command, 42);
  32. }
Success #stdin #stdout 0s 3336KB
stdin
Standard input is empty
stdout
Standard output is empty