问题及代码:
#include<iostream>
#include<iomanip>
using namespace std;
class Student
{
public:
Student(int n,char *na,char s,double sc):num(n),sex(s),score(sc)
{
for(int i=0; i<20; ++i)
name[i]=na[i];
}
void display();
friend class Teacher;
private:
int num;
char name[20];
char sex;
double score;
};
class Teacher
{
public:
Teacher(int n,char *na,char s,double p):num(n),sex(s),pay(p)
{
int i;
for(i=0; i<20; ++i)
name[i]=na[i];
}
Teacher(Student &s);
void setpay(double p)
{
pay=p;
}
void display();
friend class Studet;
private:
int num;
char name[20];
char sex;
double pay;
};
Teacher::Teacher(Student &s)
{
num=s.num;
for(int i=0; i<20; ++i)
name[i]=s.name[i];
sex=s.sex;
return ;
}
void Student::display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"score:"<<score<<endl;
}
void Teacher::display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"pay:"<<pay<<endl;
}
int main()
{
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
int num;
char name[20];
char sex;
float score;
float pay;
cin>>num>>name>>sex>>pay;
Teacher teacher1(num,name,sex,pay);
cin>>num>>name>>sex>>score;
Student student1(num,name,sex,score);
cout<<"student1:"<<endl;
student1.display();
Teacher teacher2=Teacher(student1);
teacher2.setpay(1500);
cout<<"teacher2:"<<endl;
teacher2.display();
return 0;
}
运行结果: