• C++面向对象编程题 第9题


    9.设计评选优秀教师和优秀学生候选人的程序。如果学生的分数大于 90,则可评为优秀生;如果教师发表的论文数大于 3,则可评为优秀教师。

    具体要求如下:

    1. 定义基类Base:
      保护数据成员:
    • char name[8]; //存放姓名
    • int num; //存放分数或论文数
      公有成员函数:
    • Base( ): 构造函数,输入姓名;
    • void print( ):功能函数,输出数据成员;
    • virtual int Isgood( )=0:纯虚函数,用于判断是否满足条件;
    1. 由基类派生学生类Student,定义公有成员函数:
    • Student ( ): 构造函数,输入分数;
    • int Isgood( ):根据优秀学生的标准,满足条件返回1,否则返回0;
    1. 由基类派生教师类Teacher,定义公有成员函数:
    • Teacher ( ): 构造函数,输入论文数;
    • int Isgood( ):根据优秀教师的标准,满足条件返回1,否则返回0;
    1. 在主函数中定义学生数组和教师数组, 输入一系列教师或学生的记录后,将优秀教师及学生候选
      人的情况列出来,并体现运行的多态性
    #include
    using namespace std;
    class Base{
    protected:
        char name[8];
        int num;
    public:
        Base(){
            cout<<"name:";
            cin>>name;
        }
        void print(){
            cout<<"name:"<<name<<",num:"<<num<<endl;
        }
        virtual int Isgood()=0;
    };
    class Student:public Base{
    public:
        Student(){
            cout<<"score:";
            cin>>num;
        }
        virtual int Isgood(){
        	return num>90?1:0;
        }
    };
    class Teacher:public Base{
    public:
        Teacher(){
            cout<<"num:";
            cin>>num;
        }
        virtual int Isgood(){
            return num>3?1:0;
        }
    };
    int main(){
        cout<<"student:"<<endl;
        Student stu[3];
        cout<<"Teacher:"<<endl;
        Teacher tea[3];
        Base *p;
        cout<<"good Student:"<<endl;
        for(int i=0;i<3;i++){
            p = &stu[i];
            if(p->Isgood()){
                p->print();
            }
        }
        cout<<"good Teacher:"<<endl;
        for(int i=0;i<3;i++){
            p = &tea[i];
            if(p->Isgood()){
                p->print();
            }
        }
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
  • 相关阅读:
    2024高校网络安全管理运维赛题目--复现+题目+wp
    DRF版本控制(源码分析)
    Sharding-JDBC(五)- Sharding-JDBC读写分离
    d区间函数属性实践
    可能是迄今为止最好用的WPF加载动画功能(没有之一)
    torch 的数据加载 Datasets & DataLoaders
    浅谈新能源汽车充电桩的选型与安装
    Kernel怎么跳转到Android:linux与安卓的交界
    排序相关应用
    【522. 最长特殊序列 II】
  • 原文地址:https://blog.csdn.net/xskukuku/article/details/127699885