收藏 分享(赏)

设计一个大学的人员类,学生类和教授类通过虚函数实现不同.doc

上传人:精品资料 文档编号:7988226 上传时间:2019-06-02 格式:DOC 页数:4 大小:33KB
下载 相关 举报
设计一个大学的人员类,学生类和教授类通过虚函数实现不同.doc_第1页
第1页 / 共4页
设计一个大学的人员类,学生类和教授类通过虚函数实现不同.doc_第2页
第2页 / 共4页
设计一个大学的人员类,学生类和教授类通过虚函数实现不同.doc_第3页
第3页 / 共4页
设计一个大学的人员类,学生类和教授类通过虚函数实现不同.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第九章 实例化教学专题讨论一、讨论题目设计一个大学的人员类,学生类和教授类通过虚函数实现不同人员的信息显示。要求:人员类信息至少包括姓名;学生类信息至少包括学号和累积学分;教授类信息至少包括家庭固定电话号码和发表论文数量,其中家庭固定电话号码采用(0898-66778899)形式并可直接用和和和#include #include using namespace std;class PhoneNumber public:PhoneNumber()strcpy(areaCode,“0898“);strcpy(line,“12345678“);PhoneNumber(PhoneNumber/重载流插

2、入操作符,如果需要使用 cout somePhoneNumber;则不能重载为成员函数friend istream input.ignore(); input setw( 9 ) num.line; return input; private:char areaCode5,line9; ;PhoneNumber:PhoneNumber(PhoneNumberstrcpy(line,rph.line); class Personpublic:Person(char* s) name = new charstrlen(s)+1; strcpy(name, s); virtual void Disp

3、() cout Disp();/将基类对象地址赋给基类指针Student y(“Student1“, 3.88);p = p-Disp();/将派生类对象 y 地址赋给基类指针Professor z1(“Professor1“, 8);p = p-Disp();/将派生类对象 z 地址赋给基类指针PhoneNumber phone; /创建对象 phonecout phone;Professor z2(“Professor2“, 5,phone);p = p-Disp();/将派生类对象 z 地址赋给基类指针return 0;五、代码分析在主函数有以下一段代码:Person* p; /p 声明

4、为 Person 基类指针Student y(“Student 1“, 3.88); /创建学生派生类 Student 对象 yp = p-Disp();最后一条语句将学生派生类 Student 对象 y 地址赋给 Person 基类指针 p,调用实际指向的派生类对象的 Disp()重定义版本,这就是实现虚函数 Disp()多态调用 。如果将 Person 类中 Disp()函数前面的 virtual 去掉,则的运行结果便不能达到多态效果。家庭固定电话号码定义为 PhoneNumber 类并重载流提取与流插入运算符(和)实现PhoneNumber 类对象的输入输出。教授类 Professor 中包含 PhoneNumber 类成员对象。程序运行结果如下图所示

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报