Reference no: EM132155908
USE C++ PLEASE
for a tic tac toe game do the following please:
a) Implement an abstract Player class with the following functionality:
Default constructor, copy constructor, destructor, assignment operator.
o Remember: This class will be inherited, so the destructor must be declared with the virtual keyword.
A way to set the symbol placed by this Player.
o This can be done as either a function or as an additional constructor with a parameter.
Determine the symbol placed by this Player.
Determine the next move for this Player. This function should take a const reference to a Board as a parameter and must be a pure virtual function.
Hint: Add a class invariant that ensures that a Player always has a valid symbol.
b) Implement a PlayerHuman class the following functionality:
Default constructor, copy constructor, destructor, assignment operator.
Determine the next move. This must be a virtual function and override the corresponding function in Player.
Detect and reject invalid user input.
c) Implement a PlayerRandom class with the following functionality:
Default constructor, copy constructor, destructor, assignment operator.
Determine the next move. This must be a virtual function and override the corresponding function in Player.