[英]C++ Default Values
问这个问题让我很痛苦,我知道答案,但是我完全空白了。
我的程序是一个显示损坏的简单程序。 我需要做的就是能够通过函数攻击将班级称为敌人和老板。 因此基本上是enemy.Attack()
或能够像这样的enemy.Attack(30)
进行调用,并且输出看起来有所不同。
这是需要发生的事情:
enemy.Attack()
输出: 10
enemy.Attack(30)
输出: 30
每次尝试使用空括号版本时,都会出现错误“函数未使用0个参数”
class Enemy
{
public:
Enemy();
void Attack();
private:
int m_Damage;
};
#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;
}
在类成员声明中提供默认参数:
class Enemy
{
public:
Enemy();
void Attack(int damage = 10);
private:
int m_Damage;
};
您的实现的其余部分可以保持原样(尽管我会默认将m_Damage
自己构造为零,甚至不使用它,因为我不确定此时是否需要它)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.