C++;类、对象和返回 我对我的代码没有什么问题,请回答。我是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); }
我是否应该在C++;类、对象和返回 我对我的代码没有什么问题,请回答。我是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); },c++,class,object,parameters,return,C++,Class,Object,Parameters,Return,我是否应该在敌方函数中使用return?如果我使用return,如何打印名称、hp和dmg 为什么我不能制造第二个物体,比如敌人的敌人2;然后打印出第二个敌人 enemy2.enemy("Blal","324","32");? 除了像玩家姓名这样的玩家外,我如何实现相同的功能:生命点:伤害:,我如何要求用户输入他的姓名并将其输入玩家姓名: 我知道这些问题是愚蠢的,但请回答它们,并为我糟糕的英语感到抱歉。除非你想返回数据,否则你不需要使用return-因此在这种情况下,要么将return类型
敌方函数中使用return
?如果我使用return,如何打印名称、hp和dmg
为什么我不能制造第二个物体,比如敌人的敌人2;然后打印出第二个敌人
enemy2.enemy("Blal","324","32");?
除了像玩家姓名这样的玩家外,我如何实现相同的功能:生命点
:伤害:
,我如何要求用户输入他的姓名并将其输入玩家姓名:
我知道这些问题是愚蠢的,但请回答它们,并为我糟糕的英语感到抱歉。除非你想返回数据,否则你不需要使用return-因此在这种情况下,要么将return类型设置为void,要么将函数更新为构造函数(这可能是你在这里想要的)。让我们将其分解一下: 我应该在敌方函数中使用return吗 我相信你的编译器已经警告过你了。为什么?让我们看看
敌人
函数签名:
string enemy(string n,int h,int d){
因此它需要一个string
和两个int
s,并且应该返回一个string
。不过,你什么也不退
如果我使用return,如何打印姓名、hp和dmg
与您在函数中所做的完全相同,只是您需要将所有内容都转换为一个字符串。使用stringstream
最简单
// remember to
#include <sstream>
string enemy(string n,int h,int d) {
// initialize variables
// ...
std::stringstream s;
s << "Enemy name: " << n << " ";
s << "Hit Points: " << h << " ";
s << "Damage: " << d;
// here we return the data
return s.str();
}
//记住
#包括
字符串敌人(字符串n、整数h、整数d){
//初始化变量
// ...
std::strings;
s程序具有未定义的行为,因为成员函数敌方()
在不返回字符串的情况下在函数结尾流动。将返回类型更改为void
,除非有一些值要报告给调用方,否则在这种情况下它不会出现。为什么不能创建第二个对象,如敌方enemy2?
// remember to
#include <sstream>
string enemy(string n,int h,int d) {
// initialize variables
// ...
std::stringstream s;
s << "Enemy name: " << n << " ";
s << "Hit Points: " << h << " ";
s << "Damage: " << d;
// here we return the data
return s.str();
}