簡體   English   中英

C ++默認值

[英]C++ Default Values

問這個問題讓我很痛苦,我知道答案,但是我完全空白了。

我的程序是一個顯示損壞的簡單程序。 我需要做的就是能夠通過函數攻擊將班級稱為敵人和老板。 因此基本上是enemy.Attack()或能夠像這樣的enemy.Attack(30)進行調用,並且輸出看起來有所不同。

這是需要發生的事情:

enemy.Attack()輸出: 10

enemy.Attack(30)輸出: 30

每次嘗試使用空括號版本時,都會出現錯誤“函數未使用0個參數”

Enemy.h

class Enemy
{
public:
    Enemy();
    void Attack();

private:
    int m_Damage;
};

Enemy.cpp

#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM