多态性与虚函数练习
多态性与虚函数练习
1. 设计一个评选优秀教师和学生的程序,其类结构如图1所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出。
类Base void getname() void printname() 纯虚函数int ifgood()=0 string name
#include
void getname(){ cout<<\姓名:\ void printname()
{ cout< 类student void getnum() int num 纯虚函数ifgood实现:若考试成绩大于90分,则返回1 类teachere void getnum() int num 纯虚函数ifgood实现:若一年发表论文大于3篇,则返回1 protected: string name; }; class Student:public Base { public: void getnum(){ cout<< \ 成 图1 类结构 假设运行结果如下所示: 绩:\ int isgood() { return num>90?1:0;} private: int num; }; class Teacher:public Base { public: void getnum() { cout<< \每年发表论文数:\ int isgood(){ return num>3?1:0;} 第 1 页 共 6 页 多态性与虚函数练习 private: int num; }; int main() { Base *p[50]; Student *pstud; Teacher *ptech; char ch; int count=0; do { cout<<\ cin>>ch; if(ch=='s') { pstud=new Student; pstud->getname(); pstud->getnum(); p[count++]=pstud; } else if(ch=='t') { ptech=new Teacher; ptech->getname(); ptech->getnum(); p[count++]=ptech; } else cout<<\ cout<<\ cin>>ch; }while(ch=='y'); cout<<\优秀者的姓名:\ for(int i=0;i 2.编写一个程序实现图书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月2500本以上)的图书和杂志名称显示出来。 类Base 纯虚函数void gettitle() void printtitle() 纯虚函数int ifgood()=0 string title 类Book void getsold() int numsold 纯虚函数ifgood实现:若每月图书销售量大于500,则返回1. 类Journal void getsold() int numsold 纯虚函数ifgood实现:若每月杂志销售量大于2500,则返回true 图2 类结构 第 2 页 共 6 页 多态性与虚函数练习 假设运行结果如下: int isgood() { return numsold>500?1:0;} private: int numsold; }; class Journal:public Base { public: void gettitle() { cout<<\杂志名: \ void getsold() { cout<< \每月销售杂志量:\ int isgood(){ return numsold>2500?1:0;} private: int numsold; }; int main() { Base *p[50]; Book *pbook; Journal *pjour; char ch; int count=0; do { cout<<\ cin>>ch; if(ch=='b') { 第 3 页 共 6 页 #include virtual void gettitle()=0; void printtitle() { cout< class Book:public Base { public: void gettitle() { cout<<\书名:\ void getsold(){ cout<< \每月销售书 量:\
相关推荐: