问这个问题让我很难过,我知道答案,但我只是完全消错了.
我的程序是一个显示损坏的简单程序.我所需要的就是能够通过功能攻击来调用我的类敌人和boss.所以基本上enemy.Attack()或能够像这样调用enemy.Attack(30)并使输出看起来不同.
这是需要发生的事情:
enemy.Attack() 输出: 10
enemy.Attack(30) 输出: 30
每次我尝试空括号版本时,我都会收到错误"函数不带0参数"
class Enemy
{
public:
Enemy();
void Attack();
private:
int m_Damage;
};
Run Code Online (Sandbox Code Playgroud)
#include <iostream>
#include "enemy.h"
Enemy::Enemy() : m_Damage(10)
{}
void Enemy::Attack(int damage)
{
m_Damage = damage;
std::cout << "Damage: " << m_Damage << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
在类成员声明中提供默认参数:
class Enemy
{
public:
Enemy();
void Attack(int damage = 10);
private:
int m_Damage;
};
Run Code Online (Sandbox Code Playgroud)
你的实现的其余部分可以保持原样(虽然我会默认构造m_Damage为零,或者甚至不使用它,因为我不确定你现在需要它).
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |