为了账号安全,请及时绑定邮箱和手机立即绑定

搞不明白应该怎样用这同一个类函数让他们互斗造成伤害,盼高手指点。

搞不明白应该怎样用这同一个类函数让他们互斗造成伤害,盼高手指点。

C++
眼眸繁星 2022-12-14 15:11:36
如下所示,我设了小白和小黑两个人的攻防值以及一个攻击类函数int WhiteStr = 10;int BlackStr = 8;int WhiteDef = 4;int BlackDef = 5;class Attack{public:unsigned int Damage(){cout<<"造成"<<Str()-Def()<<"点伤害"<<endl;}private:int Str(), Def();protected:};
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

将类的攻击攻击接口改为public
class Attack
{
public:
int Str(), Def();
unsigned int Damage()
{
cout<<"造成"<<Str()-Def()<<"点伤害"<<endl;
}
unsigned int Damage( Attack role)
{

cout<<"造成"<<Str()-role.Def()<<"点伤害"<<endl;

}

private:

protected:
};

Attack role_black;
attack role_white;
role_black(role_white);//black 对white 的伤害

 


查看完整回答
反对 回复 2022-12-18
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

最简单的,可以写在一个

诠释WhiteStr = 10; 

诠释BlackStr = 8; 

诠释WhiteDef = 4; 

诠释BlackDef = 5; 

类攻击

{

的攻击(STR,INT高清)m_str(STR),m_def的的(DEF){} / /构造函数,在进攻防守传入

unsigned int类型伤害()

{

法院<<“”<< STR()的高清()<<“点的伤害”<< endl; 0; 



私人

诠释STR()/ /函数编写完整

{

返回m_str; 

} 诠释投篮不中()/ /函数写

{

的回报m_def; 



诠释m_str; / /攻击

诠释m_def / /国防保护:

}; 

廉政的main()

{

攻击白(WhiteStr,WhiteDef),黑色(BlackStr,BlackDef); 

white.Damage(); 

black.Damage(); 

返回0; 
}

 


查看完整回答
反对 回复 2022-12-18
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

最简单可以写成这样

int WhiteStr = 10;
int BlackStr = 8;
int WhiteDef = 4;
int BlackDef = 5;
class Attack
{
public:
Attack(int str, int def) : m_str(str), m_def(def){} // 构造函数,将攻防传入
unsigned int Damage()
{
cout<<"造成"<<Str()-Def()<<"点伤害"<<endl;
return 0;
}
private:
int Str() // 将函数写全
{
return m_str;
}
int Def() // 将函数写全
{
return m_def;
}
int m_str; // 攻击
int m_def; // 防御
protected:
};
int main()
{
Attack white(WhiteStr, WhiteDef), black(BlackStr, BlackDef);
white.Damage();
black.Damage();
return 0;
}


查看完整回答
反对 回复 2022-12-18
  • 3 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信