当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第10章 虚函数和多态性

资源类别:文库,文档格式:PPT,文档页数:48,文件大小:178.5KB,团购合买
第10章虚函数和多态性 10.1虚函数 10.2抽象类 10.3虚析构函数 10.4多态
点击下载完整版文档(PPT)

第10章虚函数和多态性 10 10.2象类 10.3应折控原数 10.4多态 人民邮电出版社 POSTS tEl OM PRE 动此映

第10章 虚函数和多态性 10.1 虚 函 数 10.2 抽 象 类 10.3 虚 析 构 函 数 10.4 多 态

所谓多态,是指不同对象对相同消息 作出不同的响应。多态是通过继承 虚函数以及动态联编来实现的 人民邮电出版社 POSTS tEl OM PRE 动此映

所谓多态,是指不同对象对相同消息 作出不同的响应。多态是通过继承、 虚函数以及动态联编来实现的

10.1虛函数 10.1.1虚函数的定义 虚函数是实际上不存在,但确实影响程序 某些部分的函数。虚函数 有多态性,即派生的类有共同的函数,这 些共同的函数有着相同的函数名称和相同 的参数,但是却有各自不同的具体实现部 分 人民邮电出版社 POSTS tEl OM PRE 动此映

10.1 虚 函 数 10.1.1 虚函数的定义 虚函数是实际上不存在,但确实影响程序 某些部分的函数。虚函数 有多态性,即派生的类有共同的函数,这 些共同的函数有着相同的函数名称和相同 的参数,但是却有各自不同的具体实现部 分

虚函数的定义方法如下: virtual 定义虚函数要遵循下列规则: (1)类的静态成员函数不可以定义为虚函 数 (2)类的构造函数不可以定义为虚函数。 (3)非类的成员函数不可以定义为虚函数。 人民邮电出版社 POSTS tEl OM PRE 动此映

虚函数的定义方法如下: virtual ; 定义虚函数要遵循下列规则: (1)类的静态成员函数不可以定义为虚函 数。 (2)类的构造函数不可以定义为虚函数。 (3)非类的成员函数不可以定义为虚函数

【例10.1】假设一个程序可用来绘制不同 的形状,比如三角形、圆、矩形、椭圆等 等,并假设这些类中每个类都有一个成员 函数 drawL,通过该函数可绘制对象。分 析下列程序的输出结果 人民邮电出版社 POSTS tEl OM PRE 动此映

【例10.1】假设一个程序可用来绘制不同 的形状,比如三角形、圆、矩形、椭圆等 等,并假设这些类中每个类都有一个成员 函数draw(),通过该函数可绘制对象。分 析下列程序的输出结果

#include iostream. h' class person public void printInfoO 基类中的函数 cout<<"Personn"; 人民邮电出版社 POSTS tEl OM PRE 动此映

#include "iostream.h" class person { public: void printInfo() //基类中的函数 { cout<<"Person\n"; } };

class worker: public person pl rivate int kindofwork: public: void printInfo o 在派生类 worker 中重新定义 cout<<Worker\" 人民邮电出版社 POSTS tEl OM PRE 动此映

class worker: public person { private: int kindofwork; public: void printInfo () //在派生类worker中重新定义 { cout<<"Worker\n"; } };

class teacher: public person rivate. int subject ublic void printInfo o 在派生类 teacher中重新定义 cout<< Teacherln }; 人民邮电出版社 POSTS tEl OM PRE 动此映

class teacher: public person { private: int subject; public: void printInfo () //在派生类teacher中重新定义 { cout<<"Teacher\n"; } };

void maino worker w teacher t; person* p; p=&w; ∥w是 worker类对象 p->printInfo0; p=&t; p->printInfoo 人民邮电出版社 POSTS tEl OM PRE 动此映

void main() { worker w; teacher t; person* p; p = &w; // w是worker类对象 p->printInfo(); p = &t; p->printInfo(); }

程序的执行结果为: Person P erson 人民邮电出版社 POSTS tEl OM PRE 动此映

程序的执行结果为: Person Person

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共48页,可试读16页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有