A “Person” class holds the first and last names of a person. In addition to its constructors, it has a Show() method that displays both names.

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:

#include <stdlib.h>
#include <time.h>
x=rand() %52 +1;

Solution PreviewSolution Preview

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"
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <string>
#include <windows.h>

class Person
std::string firstName;
std::string lastName;
Person(std::string fn, std::string ln); //constructor
void Show();

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
$40.00 for this solution

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Software Engineering and Design Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats