[英]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.