代码如下:
#include<iostream>
#include<string>
using namespace std;
class Person{
private:
char name[30];
double money;
int ap;
int hp;
int exp;//经验
int UPEXP;//升级所需经验
int grade;//等级
double AGE;//成长系数
void steGrade()
{
Person::hp *= AGE;
Person::ap *= AGE;
Person::money += 1000;
UPEXP *= 1.5;
}
public:
void setPerson(char* name,double money = 500,int ap = 15,float hp = 100,int exp = 0,int grade = 1);//初始化
void setHp(int hp);//扣血
void setMoney(double money, int i);//i为0则加钱,i为1则扣钱
void setExp(int exp);//加经验
void getShow();
};
void Person::setPerson(char* name1, double money, int ap, float hp, int exp, int grade)
{
strcpy_s(Person::name, name);
Person::ap = ap;
Person::money = money;
Person::hp = hp;
Person::exp = exp;
Person::grade = grade;
AGE = 1.25;
UPEXP = 100;
}
void Person::setHp(int hp)
{
Person::hp -= hp;
}
void Person::setMoney(double money, int i)
{
if (i = 0)
Person::money += money;
else
Person::money -= money;
}
void Person::setExp(int exp){
Person::exp += exp;
if (Person::exp >= UPEXP)
steGrade();
}
void Person::getShow()
{
cout << "name:" << name << endl;
cout << "money:" << money << endl;
cout << "ap:" << ap << endl;
cout << "hp:" << hp << endl;
cout << "exp:" << exp << endl;
cout << "grade:" << grade << endl;
cout << "AGE:" << AGE << endl;
cout << "UPEXP:" << UPEXP << endl;
}
int main()
{
Person wzl;
wzl.setPerson("123");
wzl.getShow();
return 0;
}