【发布时间】:2013-06-26 00:57:21
【问题描述】:
我对我的代码有几个问题,请回答。我是 C++ 初学者。
我做了这门课:
#include <iostream>
#include <string>
using namespace std;
class Enemy{
public:
string enemy(string n,int h,int d){
name = n;
hp = h;
dmg = d;
cout << "Enemy name: " << n << " ";
cout << "Hit Points: " << h << " ";
cout << "Damage: " << d;
}
private:
string name;
int hp;
int dmg;
};
int main(){
Enemy enemy1;
enemy1.enemy("Wolf",10,2);
}
当我构建并运行它时,我得到了这个:
Enemy name: Wolf Hit Points: 10 Damage: 2
我应该在enemy function 中使用return 吗?如果我使用return 如何打印出name,hp and dmg?
为什么我不能制作像 Enemyenemy2 这样的第二个对象;并打印出像
这样的第二个敌人enemy2.enemy("Blal","324","32");?
我怎样才能实现相同的功能,但对于像 Player name:Hit Points:Damage: 这样的玩家,我怎么能问用户他的名字并在 Player name: 中输入它。
我知道这些问题很愚蠢,但请回答它们并为我的英语不好感到抱歉。
【问题讨论】:
-
该程序具有未定义的行为,因为成员函数
enemy()流向函数的末尾而不返回string。将返回类型更改为void,除非有一些值要报告给调用者,在这种情况下它似乎没有。 -
你为什么不能像 Enemyenemy2 这样制作第二个对象?
标签: c++ class object parameters return