我照着书上写了个程序,编译有错误。
#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(char 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<<"score:"<<score<<endl;
cout<<"title:"<<title<<endl;
cout<<"wages:"<<wage<<endl;
}
private:
flaot wage;
};
int main()
{Graduate grad1("Wang-li",24,'f',"assistant",89.5,1234.5);
grad1.show();
return 0;
}
红色的语句有错误。
错误提示:24 D:\C\1.cpp cannot convert `std::string' to `char*' for argument `1' to ` char* strcpy(char*, const char*)'
请高手指教,应该如何改正?谢谢!
#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(char 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<<"score:"<<score<<endl;
cout<<"title:"<<title<<endl;
cout<<"wages:"<<wage<<endl;
}
private:
flaot wage;
};
int main()
{Graduate grad1("Wang-li",24,'f',"assistant",89.5,1234.5);
grad1.show();
return 0;
}
红色的语句有错误。
错误提示:24 D:\C\1.cpp cannot convert `std::string' to `char*' for argument `1' to ` char* strcpy(char*, const char*)'
请高手指教,应该如何改正?谢谢!
#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(const string &str,char s,float sco):name1(str)
{
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<<"score:"<<score<<endl;
cout<<"title:"<<title<<endl;
cout<<"wages:"<<wage<<endl;
}
private:
float wage;
};
int main()
{
Graduate grad1("Wang-li",24,'f',"assistant",89.5,1234.5);
grad1.show();
return 0;
}