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;
}