#ifndef TRIVIA_H #define TRIVIA_H #include "Question.h" #include #define DISABLE_COPY(AnyClass) \ AnyClass(const AnyClass&) = delete; \ AnyClass(AnyClass&&) = delete; \ AnyClass& operator=(const AnyClass&) = delete; \ AnyClass& operator=(AnyClass&&) = delete class Trivia { DISABLE_COPY(Trivia); protected: /// All game questions retrieved from a text file std::vector questions; /// ? long playerScore = 0; public: /// Constructor Trivia(); /// Destructor ~Trivia(); /// Start game execution int run(); protected: /// @return true on success, false on error bool loadQuestions(); bool askQuestion(); void showStatistics() const; void showFinalStatistics() const; static Question* createQuestion(const std::string& questionType); }; #endif // TRIVIA_H