类的设计和实现II---学生留校做老师

【问题描述】定义一个教师类(Teacher),包含数据成员:编号id、姓名name、性别sex和工资pay;定义一个学生类(Student),包含数据成员:编号id、姓名name、性别sex和成绩score。请根据主程序完成两个类的实现,并把一个学生对象转换为老师对象,只将以上三个相同的数据成员移植过去。

主函数代码如下:

int main()
{
    Teacher teacher1(10001,"Li",'f',1234.5),teacher2;
    Student student1(20010,"Wang",'m',89.5);
    cout<<"student1:"<<endl;
    student1.display();
    teacher2=Teacher(student1);
    cout<<"teacher2:"<<endl;
    teacher2.display();
    return 0;
}

【输入说明】无输入

【输出样例】

student1:
num:20010
name:Wang
sex:m
score:89.5

teacher2:
num:20010
name:Wang
sex:m
pay:1500

#include <iostream>
using namespace std;
class Student{
private:
    int id;
    string name;
    char sex; 
    int score;    
public:
    int getid()
    {
        return id;
    }
    string getname()
    {
        return name;
    }
    char getsex()
    {
        return sex;
    }
    void display()
    {
        cout<<"num:"<<id<<endl;
        cout<<"name:"<<name<<endl;
        cout<<"sex:"<<sex<<endl;
        cout<<"score:"<<score<<endl;
        cout<<endl;
    }
    Student(int ,string ,char ,double );
    
};
Student::Student(int i,string n,char s,double sc) 
{
        id=i;
        name=n;
        sex=s;
        score=sc;
}


class Teacher{
private:
    int id;
    string name;
    char sex; 
    double pay;
public:
    Teacher();
    Teacher(Student &a);
    Teacher(int ,string ,char ,double );
    void display(){
            cout<<"num:"<<id<<endl;
            cout<<"name:"<<name<<endl;
            cout<<"sex:"<<sex<<endl;
            cout<<"pay:"<<pay<<endl;
        }
    
}; 
Teacher::Teacher() {
} 
Teacher::Teacher(int i ,string n ,char s ,double p ) 
{
    id=i;
    name=n;
    sex=s;
    pay=p;
}
Teacher::Teacher(Student &a)
{
    id=a.getid();
    name=a.getname();
    sex=a.getsex();
    pay=5000;
}

int main()
{
    Teacher teacher1(10001,"Li",'f',1234.5),teacher2;
    Student student1(20010,"Wang",'m',89.5);
    cout<<"student1:"<<endl;
    student1.display();
    teacher2=Teacher(student1);
    cout<<"teacher2:"<<endl;
    teacher2.display();
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值