1.编写一个游戏人物类Character,包含HP、Attack两个私有变量。编写Character类两个构造函数,一个不带任何参数,另一个包含两个参数用于初始化HP、Attack。 2.编写成员函数Display用于显示成员变量值。 3.编写一个非玩家角色类NPC(基类中的Attack恒为0),公有继承Character类,编写对应的构造函数。 4.编写主程序,创建两个派生类对象,并分别调用显示函数,显示对象信息。 5.编写基类成员函数重载前置++运算符函数,实现对应HP的前置++运算。在主程序中利用上面创建的两个对象测试所编写的运算符重载函数。
时间: 2024-03-20 11:44:35 浏览: 62
好的,我会按照您的要求回答问题。
首先我想说明一下,我不是ChitGPT,我是一个智能语言模型,可以根据您的提问来生成相应的答案。以下是您提出的问题的答案:
1. Character类的定义如下:
```
class Character {
private:
int HP;
int Attack;
public:
Character() : HP(0), Attack(0) {}
Character(int hp, int attack) : HP(hp), Attack(attack) {}
void Display() {
cout << "HP: " << HP << endl;
cout << "Attack: " << Attack << endl;
}
virtual ~Character(){}
Character& operator++() {
++HP;
return *this;
}
};
```
2. NPC类的定义如下:
```
class NPC : public Character {
public:
NPC() : Character(50, 0) {}
virtual ~NPC(){}
};
```
3. 主程序如下:
```
int main() {
Character c1(100, 20);
NPC npc1;
c1.Display();
npc1.Display();
++c1;
++npc1;
c1.Display();
npc1.Display();
return 0;
}
```
希望这些代码可以帮助到您。如果您有任何问题或需要进一步的帮助,请随时告诉我。
阅读全文