dimanche 7 juin 2020

Define all pure virtual functions in abstract base class as a varaidaic template

Would it be possible to declare a single variadic function that handles all base class pure virtual functions?

Class  Brain {

 private:
  virtual void SayGreeting(std::string greeting) = 0;
  virtual void SayGreetingLocation(std::string greeting, std::string location) = 0;
}

Class Mouth {

 public:
  template<typename T, typename... Args>
  void Say(T first, Args... args) {
    std::cout << args
    Say(args...)
  }
}

Aucun commentaire:

Enregistrer un commentaire