永发信息网

c++在构造函数中存在string

答案:2  悬赏:50  手机版
解决时间 2021-02-21 11:25
  • 提问者网友:斑駁影
  • 2021-02-21 03:04
//头文件xi.h
#include
#include
using namespace std;
class Student
{
public:
Student(int n,string nam,char s)
{
num = n;
name = nam;
sex = s;
cout<<"Constructor called."< }
~Student()
{
cout<<"Destructor called."< }
void display()
{
cout<<"num: "< cout<<"name: "< cout<<"sex: "< }
private:
int num;
char name[10];
char sex;
};
//主函数
#include
#include
#include"xi.h"
using namespace std;
int main()
{
Student stud1(10010,"Wang_li",'f');
stud1.display();
Student stud2(10011,"Zhang_feng",'m');
stud2.display();
return 0;
}

这个程序不能通过,不知道是什么缘故,求大神指点,是这样显示错误的:
e:\code\xigou\xi.h(10) : error C2440: '=' : cannot convert from 'class std::basic_string,class std::allocator >' to 'char [10]'
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-02-21 03:42
Student(int n,char nam[],char s) //这里修改参数呀

    {

        num = n;

        strcpy(name,nam); //name = nam; 这里修改成复制

        sex = s;

        cout<<"Constructor called."<
全部回答
  • 1楼网友:大漠
  • 2021-02-21 05:15
直接为string类型的变量赋值就能初始化或改变它的值。如: class init { public: init() { s="你好,c++!"; } init(string t) { s=t; } string s; }; string str="中国!"; init o,o2(str);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯