把你的代码改了下:# include <iostream>#include<string>using namespace std;class boss{ public: string name;int hp;int mp;int dps;boss(char *_name,int _hp){ //这里要改为传入一个字符数组或者是一个string,按你原 展开
把你的代码改了下:# include <iostream>#include<string>using namespace std;class boss{ public: string name;int hp;int mp;int dps;boss(char *_name,int _hp){ //这里要改为传入一个字符数组或者是一个string,按你原来的写法只能传入一个字符name=_name;hp=_hp;dps=5;} void kill(){ cout<<"kill is done"<<endl;} void hit(){ cout<<"yourHp decrease: "<<dps<<endl;} int displayHp(){ return hp;} };void main(){ boss a("dog",100);a.hit();//你原来调用方法的时候都少写了小括号了,所以报错了。现在帮你加回去了a.kill();} 回答你的问题:问题1:可以问题2:因为你定义的传值参数不对。你在构造函数里只是传入一个'char'数值,但是"dog"是一个字符串或者说是一个"char"数组,所以就出错了。我帮你改成传入一个字符头指针问题3:C++里的调用方法可以写 对象.方法,也可以用 指针->方法。不过你要注意你书写函数的格式,上面你调用方法的时候少写了小括号了。 收起