Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a UML class diagram of the classes involved in this program //Charater.h

ID: 3832314 • Letter: C

Question

Create a UML class diagram of the classes involved in this program

//Charater.h

#include<iostream>
class character {
private :
int health;
int size;
public:
   character();
character(int,int);
int getHealth();
void setHealth(int);
int getSize();
void setSize(int);
void dispaly();
virtual void mouseclicked(void);
void nonVirtual();
};

//Charater.cpp

#include "character.h"
using namespace std;
character ::character()
{
   this->health=0;
   this->size=10;
}
character :: character(int x=0,int y=10) {
this->health = x;
this-> size = y;
}
int character ::getSize() {
return size;
}
void character :: setSize(int size) {
this->size = size;
}
int character :: getHealth() {
return health;
}
void character :: setHealth(int health) {
this->health = health;
}
void character :: dispaly() {
cout << "I am size " << getSize();
}
void character::mouseclicked()
{
cout<<"Should not be called";
}

void character:: nonVirtual()
{
   cout<<"This is character class";
}

//NonPlayer.h

#include "character.h"
class NonPlayer : public character {
private:
bool talkative;
public :
NonPlayer();
bool isTalkative();
void setTalkative(bool);
void display();
void mouseclicked();
void nonVirtual();
};

//NonPlayer.cpp

#include "NonPlayer.h"
using namespace std;
NonPlayer :: NonPlayer() {
talkative = true;
setSize(3);
}
bool NonPlayer :: isTalkative() {
return talkative;
}
void NonPlayer :: setTalkative(bool talkative) {
this-> talkative = talkative;
}
void NonPlayer::mouseclicked()
{
   cout<<"I am the nonplayer";
}
void NonPlayer :: display() {
//cout << "Hi, I am" << isTalkative() ? " talkative" : "not talkative " << " and I am size " << getSize();
}
void NonPlayer::nonVirtual()
{
   cout<<"This is Nonplayer class";
}

//Monster.h

#include "character.h"
class Monster : public character {
private:
int maxHit;
int minHit;
public :
   Monster();
int getMaxHit();
void setMaxHit(int);
int getMinHit();
void setMinHit(int );
void display();
void mouseclicked();
void nonVirtual();
};

//Monster.cpp

#include "Monster.h"
using namespace std;
Monster::Monster() {
   maxHit = 30;
   minHit = 10;
   setSize(7);
}
int Monster::getMaxHit() {
   return maxHit;
}
void Monster::setMaxHit(int maxHit) {
   this->maxHit = maxHit;
}
int Monster::getMinHit() {
   return minHit;
}
void Monster::setMinHit(int minHit) {
   this->minHit = minHit;
}
void Monster::display() {
   cout << "I hit the max is " << getMaxHit() << " and the min is " << getMinHit() << " I am size " << getSize();
}
void Monster::mouseclicked()
{
   cout << "I am the monster";
}
void Monster::nonVirtual()
{
   cout << "This is non virtuAL Class";
}

//main.cpp

#include<iostream>

#include"NonPlayer.h"
using namespace std;

int main()
{
   character *c;
   NonPlayer *p;
c = new NonPlayer();
c->nonVirtual();

cout << endl;
c->mouseclicked();

cout << endl;
return 0;
}

Explanation / Answer

#include<iostream>
class character {
private :
int health;
int size;
public:
   character();
character(int,int);
int getHealth();
void setHealth(int);
int getSize();
void setSize(int);
void dispaly();
virtual void mouseclicked(void);
void nonVirtual();
};

//Charater.cpp

#include "character.h"
using namespace std;
character ::character()
{
   this->health=0;
   this->size=10;
}
character :: character(int x=0,int y=10) {
this->health = x;
this-> size = y;
}
int character ::getSize() {
return size;
}
void character :: setSize(int size) {
this->size = size;
}
int character :: getHealth() {
return health;
}
void character :: setHealth(int health) {
this->health = health;
}
void character :: dispaly() {
cout << "I am size " << getSize();
}
void character::mouseclicked()
{
cout<<"Should not be called";
}

void character:: nonVirtual()
{
   cout<<"This is character class";
}

//NonPlayer.h

#include "character.h"
class NonPlayer : public character {
private:
bool talkative;
public :
NonPlayer();
bool isTalkative();
void setTalkative(bool);
void display();
void mouseclicked();
void nonVirtual();
};

//NonPlayer.cpp

#include "NonPlayer.h"
using namespace std;
NonPlayer :: NonPlayer() {
talkative = true;
setSize(3);
}
bool NonPlayer :: isTalkative() {
return talkative;
}
void NonPlayer :: setTalkative(bool talkative) {
this-> talkative = talkative;
}
void NonPlayer::mouseclicked()
{
   cout<<"I am the nonplayer";
}
void NonPlayer :: display() {
//cout << "Hi, I am" << isTalkative() ? " talkative" : "not talkative " << " and I am size " << getSize();
}
void NonPlayer::nonVirtual()
{
   cout<<"This is Nonplayer class";
}

//Monster.h

#include "character.h"
class Monster : public character {
private:
int maxHit;
int minHit;
public :
   Monster();
int getMaxHit();
void setMaxHit(int);
int getMinHit();
void setMinHit(int );
void display();
void mouseclicked();
void nonVirtual();
};

//Monster.cpp

#include "Monster.h"
using namespace std;
Monster::Monster() {
   maxHit = 30;
   minHit = 10;
   setSize(7);
}
int Monster::getMaxHit() {
   return maxHit;
}
void Monster::setMaxHit(int maxHit) {
   this->maxHit = maxHit;
}
int Monster::getMinHit() {
   return minHit;
}
void Monster::setMinHit(int minHit) {
   this->minHit = minHit;
}
void Monster::display() {
   cout << "I hit the max is " << getMaxHit() << " and the min is " << getMinHit() << " I am size " << getSize();
}
void Monster::mouseclicked()
{
   cout << "I am the monster";
}
void Monster::nonVirtual()
{
   cout << "This is non virtuAL Class";
}

//main.cpp

#include<iostream>

#include"NonPlayer.h"
using namespace std;

int main()
{
   character *c;
   NonPlayer *p;
c = new NonPlayer();
c->nonVirtual();

cout << endl;
c->mouseclicked();

cout << endl;
return 0;
}