mission part 2:帮忙纠正这个小程序的错误

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 21:36:02
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
class Teacher
{
public:
Teacher(string nam,int a,string t)
{name=nam;age=a;title=t;}

void display()
{cout<<"name: "<<name<<endl;
cout<<"age: "<<age<<endl;
cout<<"title: "<<title<<endl;
}
protected:
string name;
int age;
string title;
};

class Student
{
public:
Student(string nam,char s,float sco)
{strcpy(name1,nam);
sex=s;score=sco;}
void display1()
{cout<<"name: "<<name1<<endl;
cout<<"sex: "<<sex<<endl;
cout<<"score: "<<score<<endl;
}
protected:
string name1;
char sex;
float score;
};

class Graduate:public Teacher,public Student
{
public:
Graduate(string nam,int a,char s,string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco),wage(w){}

void show()
{cout<<"name: "<<name<<endl;
cout<<"age: "<<age<<endl;
cout<<"sex: "<<sex<<endl;
cout<<"title: "<<title<<endl;
cout<<"score: "<<score<<endl;
cout<<"wage: "<<wage<<endl;
}
private:
float wage;
};

int _tmain(int argc, _TCHAR* argv[])
{
Graduate grad1("dinglei",19,'f',"manager",100,1234.5);
grad1.show();
return 0;
}

//vc8.0提示错误: error C2664: “strcpy”: 不能将参数 1 从“std::string”转换为“char *” e:\visual c++ projects\chapter11\inheritance6\inheritance6\inheritance6.cpp 28

strcpy的参数必须是char*,你用的C++标准库的string类型,strcpy(name1,nam); 可以写为name1=nam;,因为string类重载了赋值操作符=

我这里和你的错误不一样哦
你的include "stdafx.h"
文件呢