建立一个抽象类,然后派生出教师类。要求评选出优秀教师(一年发表了3篇论文)
1条回答 默认 最新
关注 可以参考一下 抽象类base,教师类teacher
//评选优秀教师和优秀学生 #include<iostream.h> #include<string.h> class base//定义基类 { protected: char name[8]; //姓名 int chengji; //chengji 表示学生的成绩 int file; //file 表示论文 public: base(char n[8]) { strcpy(name,n); } base(int ch=0,int f=0)//构造函数,使基类初始化 { chengji=ch; file=f; } virtual bool isgood()=0; //纯虚函数,判断是否优秀 virtual void inputname()=0;// 纯虚函数 ,输入姓名 virtual void inputchji()=0;//纯虚函数,输入成绩 virtual void inputfile()=0;//纯虚函数,输入论文 virtual void show()=0; //纯虚函数,显示优秀的学生和教师 }; class student:public base//定义base派生的student类 { public: student(int ch=0):base(ch,0) { inputname();//调用student的inputname(),输入学生的姓名 inputchji();//调用student的inputchji(),输入学生的成绩 } void inputname() { cout<<"请输入学生的姓名:"; cin>>name; } void inputchji() { cout<<"请输入成绩:"; cin>>chengji; } bool isgood() { if (chengji>90) return true; else return false; } void show()//输出优秀学生的姓名 { if (isgood()) cout<<name<<"是优秀学生"<<endl; } void inputfile(){} }; class teacher:public base//定义base派生的teather类 { public: teacher(int f=0):base(0,f)//初始化基类的成员函数 { inputname();//调用的teacher的inputname(),输入教师的姓名 inputfile();//调用的teacher的inputfile(),输入教师的论文 } void inputname() { cout<<"请输入教师的姓名:"; cin>>name; } void inputfile() { cout<<"请输入此教师一年中的论文:"; cin>>file; } bool isgood()//判断优秀教师的条件 { if (file>3) return true; else return false; } void show() { if (isgood()) cout<<name<<"是优秀教师"<<endl; } void inputchji(){} //由于基类中定义:virtual void inputchji()=0;的纯虚函数,在派生类中必须定义 //否则就会出错,此时这个函数只是形式的需要,在功能方面什么都不做 }; void main()//主函数 { base *p[100];//定义base类的100个对象的指针 int i=0; int cut=0; int type=0; cout<<"请输入要评选的人数:"; cin>>cut;//接收输入的评选的人数 for(i=0;i<cut;i++)//i是计数器 { cout<<"请选择教师(1)或学生(2):"; cin>>type;//输入的是教师(1)还是学生(2) if (type==1)//判断 p[i]=new teacher;//定义teacher新对象 else p[i]=new student;//定义student新对象 } for(i=0;i<cut;i++) { p[i]->show();调用 delete p[i];//删除对象 } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 stm32开发clion时遇到的编译问题