对象转换

来源:互联网 发布:淘宝qq飞车租号 编辑:程序博客网 时间:2024/05/16 19:03
#include<iostream>#include<string.h>#include<iomanip>using namespace std;class Student{public:    Student(int n,char nam[20],char s,float sc);    void display();    int getnum()    {        return num;    }    char *getname()    {        return name;    }    char getsex()    {        return sex;    }private:    int num;    char name[20];    char sex;    float score;};Student::Student(int n,char nam[20],char s,float sc){    num=n;    strcpy(name,nam);    sex=s;    score=sc;}void Student::display(){    cout<<"num:"<<num<<endl;    cout<<"name:"<<name<<endl;    cout<<"sex:"<<sex<<endl;    cout<<"score:"<<score<<endl;}class Teacher{public:    Teacher(Student &);    Teacher(int n,char nam[20],char s,float p);    void display();    void setpay(int i);private:    int num;    char name[20];    char sex;    float pay;};Teacher::Teacher(Student &s){    num=s.getnum();    strcpy(name,s.getname());    sex=s.getsex();}Teacher::Teacher(int n,char nam[],char s,float p){    num=n;    strcpy(name,nam);    sex=s;    pay=p;}void Teacher::display(){    cout<<"num:"<<num<<endl;    cout<<"name:"<<name<<endl;    cout<<"sex:"<<sex<<endl;    cout<<"pay:"<<pay<<endl;}void Teacher::setpay(int i){    pay=i;}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;}

0 0
原创粉丝点击