dsfighiu 2022-09-25 10:59 采纳率: 100%
浏览 37
已结题

关于C++的语法问题! 各位师长请进

#include "stdafx.h"
#include
#include
using namespace std;

class Champion
{public:
Champion(int id, string nm, int hp,int mn, int dmg) {
ID = id;
name = nm;
HP = hp;
mana = mn;
damage = dmg;
}
void sttack(Champion &chmp) {
chmp.takeDamage(this->damage);
}
void takeDamage(int incomingDmg)
{
HP -= incomingDmg;
}
int getHP() {
return HP;
}
private:
int ID;
string name;
int HP;
int mana;
int damage;
};
int main()
{
Champion galen(1, "Galen", 800, 100, 10);
Champion ash (2, "Ash", 700.150, 7);
cout << "Ash的初始血量:" << ash.getHP() << endl;
galen.sttack(ash);
cout << "Ash受到Galen攻击后的血量:" << ash.getHP() << endl;

return 0;

}

img

img

为什么我给构造函数传递的第一个实掺会出现错误?
还有this->damage这个语句是什么意思!教材上没有介绍它是从哪里提取的damage?

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-25 11:15
    关注

    700.150,应该是700,150啊
    this->damage this就表示当前实例,所以damage就是你这个对象的成员变量damage

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月3日
  • 已采纳回答 9月25日
  • 创建了问题 9月25日

悬赏问题

  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题