《C++面向对象程序设计》课件第3章 继承与派生.pptx
《《C++面向对象程序设计》课件第3章 继承与派生.pptx》由会员分享,可在线阅读,更多相关《《C++面向对象程序设计》课件第3章 继承与派生.pptx(50页珍藏版)》请在三一文库上搜索。
1、目录3.1 类的继承与派生3.2 派生类的构造与析构函数3.3 二义性问题与虚基类3.4 Qt自定义派生类3.5 Qt中的界面3.6 Qt常用部件3.1.1 派生类的定义交通工具汽车船水陆两栖车房子房车基类派生类基类派生类基类只有一个基类,是单继承有不止一个基类,是多继承3.1.1 派生类的定义classclass 派生类名:继承方式 基类1,继承方式 基类n /有多个基类时,/之间用逗号隔开,每个 /基类都要写明继承方式 派生类新增成员的声明;三选一:publicprivateprotected3.1.1 派生类的定义class Conveyance double speed;/时速 pub
2、lic:double getSpeedgetSpeed()return speed;class Car:public Conveyance int wheelsNum;/车轮数 public:int getWheelsNumgetWheelsNum()return wheelsNum;Conveyance类speedgetSpeed()Car类speedgetSpeed()wheelsNumgetWheelsNum()新增成员继承3.1.1 派生类的定义class House double area;/房屋面积 public:double getAreagetArea()return area
3、;class MotorHome:public Car,public House int waterReserve;/储水量,单位升 public:int getWaterReservegetWaterReserve()return waterReserve;Car类speedgetSpeed()wheelsNumgetWheelsNum()Speed()House类areagetArea()MotorHome类waterReservegetWaterReserve()speedgetSpeed()wheelsNumgetWheelsNum()areagetArea()继承继承新增成员3.1.
4、2 继承方式 基类基类成员成员函数函数基类基类对象对象privateprivate继承方式继承方式protectedprotected继承方式继承方式publicpublic继承方式继承方式派生类派生类新增成新增成员函数员函数派生类对象派生类对象派生类新增派生类新增成员函数成员函数派生类对象派生类对象派生类新增派生类新增成员函数成员函数派生类派生类对象对象基类基类privateprivate成员成员可访问不可访问基类基类protectedprotected成员成员不可访问可访问,访问权限转为private不可访问可访问,访问权限仍为或转为protected不可访问可访问,访问权限仍为prote
5、cted不可访问基类基类publicpublic成员成员可访问可访问,访问权限仍为public可访问表3-1 继承方式和访问特性3.1.2 继承方式保护继承自公有继承自祖先类private:protected:public:父亲类private:protected:protected:孩子类private:protected:protected:私有继承自公有继承自祖先类private:protected:public:父亲类private:private:private:孩子类private:private:private:图3-3 保护继承和私有继承的区别保护权限成员既实现了数据隐藏又很好
6、地实现了继承,而私有权限成员只是很好地实现了数据隐藏。3.1.3 重定义成员函数 派生类中允许声明和基类中的成员函数原型完全相同的新成员函数,新的同名成员函数需有自己新的函数实现,称作重定义成员函数(或重定义继承的函数)。例:在Conveyance类中声明公有成员函数showInfo,并在类外定义如下:void Conveyance:showInfo()coutSpeed per hour:speedendl;在Car类中声明公有成员函数showInfo,并在类外定义如下:void Car:showInfo()coutSpeed per hour:getSpeed()endl;coutNumb
7、er of wheels:wheelsNumendl;Car myCar;myCar.showInfo();myCar.Car:showInfo();ConveyanceConveyance:showInfo();();3.1.4 赋值兼容规则公有继承时,派生类对象可以赋值给基类对象。基类对象不能赋值给派生类对象。基类对象基类属性的内存空间派生类对象基类属性的内存空间派生类新增属性的内存空间值复制该部分值在赋值时被舍弃3.1.4 赋值兼容规则在用到基类对象时可以用其公有派生类对象代替,使用途径有:p可使用公有派生类对象赋值或初始化基类对象的引用。p函数形参是基类对象(或引用),对应的实参可使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+面向对象程序设计 C+面向对象程序设计课件第3章 继承与派生 C+ 面向 对象 程序设计 课件 继承 派生
链接地址:https://www.31doc.com/p-21712394.html