将一个类中的内容移植到另一个类中去。
#include<iostream>
using namespace std;
class student
{
public:
student(int ,string ,char ,float );
int get_num();
string get_name();
char get_sex();
void display();
private:
int num;
string name;
char sex;
float score;
};
void student::display()
{
cout<<num<<' '<<name<<' '<<sex<<' '<<score<<endl;
}
int student::get_num()
{
return num;
}
string student::get_name()
{
return name;
}
char student::get_sex()
{
return sex;
}
student::student(int n,string nam,char s,float sco)
{
num=n;
name=nam;
sex=s;
score=sco;
}
class teacher
{
public:
teacher(){ /*之前只是声明而没有定义默认构造函数导致出错,现在将定义补上,并且末尾加上了“;”,但是忽然发现加不加“;”都是可以的。*/
};
teacher(int n,string nam,char s,float p);
teacher(student &);
void display();
private:
int num;
string name;
char sex;
float pay;
};
int main()
{
teacher teach1(10001,"Li",'f',1234.5),teach2;
student stu(20010,"Wang",'m',89.5);
stu.display();
teach2=teacher(stu);
teach2.display();
return 0;
}
void teacher::display()
{
cout<<num<<' '<<name<<' '<<sex<<' '<<pay<<endl;
}
teacher::teacher(student &stu)
{
num=stu.get_num();
name=stu.get_name();
sex=stu.get_sex();
pay=1500;
}
teacher::teacher(int n,string nam,char s,float p)
{
num=n;
name=nam;
sex=s;
pay=p;
}