A “PokerPlayer” class derives virtually from the Person class. You will use “: virtual public” for the inheritance type. It has a Draw() member that returns a random number in the range 1 through 52, representing the card value. The PokerPlayer class uses the Person Show() function.
The “Gunslinger” class derives virtually from the Person class in the same way as PokerPlayer. It has a Draw() member that returns a type double value representing the gunslinger’s draw time. The class also has an int member representing the number of times the gunslinger has won. Finally, it has a Show() member function that displays all of the information.
The “BadDude” class derives publically from the Gunslinger and PokerPlayer classes. It has a Gdraw() member that returns the draw time and a Cdraw() function that returns the next card drawn. It has an appropriate Show() function.
Define all of these classes and methods, along with any other necessary methods (such as methods for setting object values) and test them in a simple program.
To generate random numbers:
x=rand() %52 +1;
This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.#include "stdafx.h"
Person(std::string fn, std::string ln); //constructor
Person::Person(std::string fn, std::string ln) //constructor with 2 arguments, fn - first name, ln - last name. Simply assigns the arguments to attributes
firstName = fn;
lastName = ln;
void Person::Show() //Print Persons first and last name
std::cout << firstName << " " << lastName << std::endl;
class PokerPlayer:virtual public Person
PokerPlayer(std::string fn, std::string ln):Person(fn, ln) //inherited constructor from Person
//There is nothing in the body, as constructor is same as Persons, it is just inherited
int Draw(); //Draw method