• C++-课后习题-学生类


    #include <iostream>
    #include <string>
    using namespace std;
    class Person
    {
    private:             //改为protected更好
        string Num,Name,Addr,Tel,Email;
        char Sex;
    public:
        Person(string num,string nam,char s,string add,string tel,string ema)
        {Num=num;   Name=nam;   Addr=add;   Tel=tel;    Email=ema;  Sex=s;}
        void SetName(string nam)
        {Name=nam;}
        
        void SetNumber(string num)
        {Num=num;}
        
        void SetSex(char sex)
        {Sex=sex;}
        
        void SetAddr(string add)
        {Addr=add;}
        
        void SetTel(string tel)
        {Tel=tel;}
        
        void SetEmail(string em)
        {Email=em;}
        
        void ShowPersonData()
        {cout<<"编号: "<<Num<<endl;
            cout<<"姓名: "<<Name<<endl;
            cout<<"性别: "<<Sex<<endl;
            cout<<"地址: "<<Addr<<endl;
            cout<<"电话: "<<Tel<<endl;
            cout<<"邮箱: "<<Email<<endl;}
    };
    
    class Student:public Person
    {
    private:
        int Math,Physics,Eng,Prog;
        
    public:
        //Student():Person(){};
        Student(string num,string nam,char sex,string add,string tel,string ema,int math=60,int physics=60,int eng=60,int prog=60):Person(num,nam,sex,add,tel,ema)
        {Math=math;Physics=physics;Eng=eng;Prog=prog;}
        void SetScore(char tag,int score)
        {
            if(tag=='m')  Math=score;
            else if(tag=='p')    Physics=score;
            else if(tag=='e')   Eng=score;
            else if(tag=='c')   Prog=score;
        }
        
        void ShowStudentData()
        {
            ShowPersonData();
            cout<<"数学成绩: "<<Math<<endl;
            cout<<"物理成绩: "<<Physics<<endl;
            cout<<"英语成绩: "<<Eng<<endl;
            cout<<"程序设计成绩: "<<Prog<<endl;
        }
        
    };
    class Teacher:public Person
    {
    private:
        string Headship,Post;
        int Salary;
    public:
        Teacher(string num,string nam,char sex,string add,string tel,string ema,string headship,string post,int sa):Person(num,nam,sex,add,tel,ema)
        {Headship=headship;Post=post;Salary=sa;}
        void SetHeadship(string x)
        {Headship=x;}
        
        void SetPost(string p)
        {Post=p;}
        
        void SetSalary(int s)
        {Salary=s;}
        
        void ShowTeacherData()
        {
            ShowPersonData();
            cout<<"职务: "<<Headship<<endl;
            cout<<"职称: "<<Post<<endl;
            cout<<"工资: "<<Salary<<endl;
        }
    };
    int main()
    {
        Student A("1001","Lian",'F',"Fujian","1234567890","83710XXXX@qq.com",90,90,90,90);
        A.ShowStudentData();
        cout<<endl;
        A.SetName("Ma");
        A.SetNumber("1002");
        A.SetSex('F');
        A.SetTel("139XXXXXXXXX");
        A.SetAddr("Nanjing");
        A.SetEmail("XXXXXXXXX@163.com");
        A.SetScore('M',80);
        A.ShowStudentData();
        cout<<endl;
        Teacher a("0001","Chen",'M',"Guangzhou","123450000","14234XXXX@qq.com","数学","主任",10000);
        a.ShowTeacherData();
        cout<<endl;
        a.SetHeadship("助理");
        a.SetPost("经济");
        a.SetSalary(5000);
        a.ShowTeacherData();
        
    }

  • 相关阅读:
    RHEL因为selinux设置失误,无法重启问题。(centos适用)
    Linux系统忘记管理员密码(CentOS、RHEL、Ubuntu)
    cobbler PXE 安装系统时出现的问题
    虚拟机ping 不通主机,主机可ping 虚拟机解决方法
    CentOS7系统更改网卡名为eth0
    PXE-cobbler 无人值守装机------续
    PXE-cobbler 无人值守装机
    DELL PowerEdge R410系统日志满报错
    matlab添加toolbox失败的解决办法
    vs2017+opencv3.4.0的配置方法
  • 原文地址:https://www.cnblogs.com/loglian/p/12880355.html
Copyright © 2020-2023  润新知