高级程序设计.PPT
《高级程序设计.PPT》由会员分享,可在线阅读,更多相关《高级程序设计.PPT(39页珍藏版)》请在优知文库上搜索。
1、高级程序设计高级程序设计一、继承总结一、继承总结 继承方式:继承方式:public :公有继承公有继承 protected:保护继承保护继承 private :私有继承私有继承访问控制属性:访问控制属性:public :公有类型公有类型 protected :保护类型保护类型 private :私有类型私有类型继承方式与访问控制属性继承方式与访问控制属性:基类的公有成员和保护成员作为派生类公有成员时,保持不变,但基类的公有成员和保护成员作为派生类公有成员时,保持不变,但基类的私有成员不可访问。基类的私有成员不可访问。:基类的公有成员和保护成员作为派生类私有成员,变成私有,但基基类的公有成员和保
2、护成员作为派生类私有成员,变成私有,但基类的私有成员不可访问。类的私有成员不可访问。:基类的公有成员和保护成员作为派生类保护成员,变成保护,但基基类的公有成员和保护成员作为派生类保护成员,变成保护,但基类的私有成员不可访问。类的私有成员不可访问。不同继承方式的基类不同继承方式的基类/派生类特性派生类特性基类成员访问控制基类成员访问控制继承访问控制继承访问控制在派生类中的访问控制在派生类中的访问控制publicpublicpublicprotectedprotectedprivate不可访问不可访问publicprotectedprotectedprotectedprotectedprivate
3、不可访问不可访问publicprivateprivateprotectedprivateprivate不可访问不可访问基类基类/派生类的关系派生类的关系 任何一个类都可以派生出一个新类,派生类也可以派生出新任何一个类都可以派生出一个新类,派生类也可以派生出新的类,即一个基类是另一个基类的派生类,构成了类的层次结构。的类,即一个基类是另一个基类的派生类,构成了类的层次结构。ABCA 是是 B 的基类,的基类,B 是是 C 基类;基类;称称 B 是是 A 的直接派生类;的直接派生类;A 是是 C 的间接基类;的间接基类;二二、继承与构造函数、继承与构造函数/析构函数析构函数1、问题:、问题:类都有
4、构造函数类都有构造函数/析构函数,基类析构函数,基类/派生类也有。派生类也有。则则(1)派生类和基类的构造函数和析构函数是如何被调用的?派生类和基类的构造函数和析构函数是如何被调用的?(2)基类构造函数是如何获得实际参数的?基类构造函数是如何获得实际参数的?2、规则:、规则:(1)派生类并不继承基类的构造派生类并不继承基类的构造/析构函数,相反派生类的构造函数必析构函数,相反派生类的构造函数必须向基类的构造函数提供实参。须向基类的构造函数提供实参。(2)创建一个派生类的对象时,则先调用基类的构造函数,然后调用派创建一个派生类的对象时,则先调用基类的构造函数,然后调用派生类的构造函数;派生类的对
5、象被撤销时析构函数的调用次序相反。生类的构造函数;派生类的对象被撤销时析构函数的调用次序相反。3、派生类构造函数的形式、派生类构造函数的形式():(参数(参数),(参数(参数)例:例:B:B(int i,int k):A(i)b=k;coutBs createendl;初始化列表初始化列表举例:从举例:从vehicle(汽车汽车)派生派生car(小汽车小汽车)类。类。#include class vehicle/基类基类vehicle类的声明类的声明private:/私有数据成员私有数据成员 int wheels;protected:/保护数据成员保护数据成员 float weight;pub
6、lic:/公有函数成员公有函数成员 vehicle(int in_wheels,float in_weight)wheels=in_wheels;weight=in_weight;int get_wheels()return wheels;float get_weight()return weight;/派生类派生类car类的声明类的声明class car:public vehicle private:/新增私有数据成员新增私有数据成员 int passenger_load;public:/新增公有函数成员新增公有函数成员 car(int in_wheels,float in_weight,i
7、nt people=5):vehicle(in_wheels,in_weight)passenger_load=people;int get_passengers()return passenger_load;void main()car bluebird(4,1000);/声明声明car类的对象类的对象 coutThe message of bluebird(wheels,weight,passengers):endl;coutbluebird.get_wheels(),/输出小汽车的信息输出小汽车的信息 bluebird.get_weight(),bluebird.get_passenge
8、rs()endl;程序运行结果为:程序运行结果为:The message of bluebird(wheels,weight,passengers):4,1000,5例,继承中的构造例,继承中的构造/析构函数析构函数class Apublic:A()a=0;coutAs default createendl;A(int i)a=i;coutAs createendl;A()coutAs deletedendl;void aprint()couta,;int geta()return a;private:int a;class B:public Apublic:B()b=0;coutBs def
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 程序设计