8.4.2 基类到派生类的转换 C++编译器可以自动将派生类对象转换为基类对象(隐式类型转换) 从基类到派生类的自动转换是不存在的 //以下代码仅为示例 TShape s; TCircle c = s; //错误!不能将基类转换为派生类 TCircle* pc = s; //错误!不能将基类转换为派生类 TCircle rc = s; //错误!不能将基类转换为派生类 总结 类的继承性及其相关概念 派生类可以以公有、保护和私有3种方式继承基类 派生类能够继承基类中除构造函数和析构函数之外的所有成员 派生类定义自己的构造函数和析构函数。在定义派生类的构造函数时,不仅要考虑派生类新增数据成员的初始化,还要注意在成员初始化列表中对基类构造函数的调用和内嵌对象数据成员进行初始化。 * * 新类继承了基类的属性和行为 新类是基类的特殊情况。 继承 使得程序员可以利用已有的代码 继承是处理“特殊情况”的面向对象编程机制 * * * 不同的继承方式使得派生类从基类继承的成员具有不同的访问控制权限,以实现数据的安全性和共享性控制。 * * 使用派生类的 对象 只能访问基类的public成员 * * * 如果此处填private,那么在 class Rect中的 X=x; Y=y 会出错; 将private 改成public,那么在 class Rect中的 X=x; Y=y 不会出错;但是同样 coutr.X也不会出错 只有将此处填protected,在class Rect中的X=x; Y=y 不会出错;而只有 main中第三行汇报错 * 对于任意继承方式,基类的私有成员对于派生类是“不可访问的”。 对于公共继承方式,基类的公共成员为派生类的公共成员,基类的保护成员为派生类的保护成员。 对于保护继承方式,基类的公共的和保护的成员变为派生类的保护成员。 对于私有继承方式,基类的公共的和保护的成员变为派生类的私有成员。 * 答案B * * * * * * * * * * * * * * * * 继承方式影响访问控制 public: protected: private: public public protected private protected protected protected private private private private private 基类存取方式 继承类型 派生类继承的基类成员的访问属性 * 北京邮电大学信息与通信工程学院 -*- 8.2.4 同名覆盖 8.2.4 同名覆盖 override class base { public: void f ( ) {coutbaseendl;} }; class deriver: public base { public: void f ( ) {coutderiverendl;} }; int main( ) { deriver derobj; derobj.f (); return 0; } 输出结果? A: base B: deriver 在派生类中声明了一个与基类成员同名的新成员 OverRide 只能访问到派生类中的同名新成员 在派生类作用域内或者 在类外通过派生类的对 象直接使用这个成员名 class Shape { public: ┇ void Draw(){ }; protected: ┇ }; class Triangle: public Shape { public: Triangle( int x, int y, char color=R, float slen = 1 ); float GetSideLength( ) const; void SetTriangle( int x, int y, char color, float slen ); void Draw( ); private: float m_SideLength; }; 图形类中的同名覆盖 * 北京邮电大学信息与通信工程学院 -*- 8.3 构造函数和析构函数 8.3 构造函数与析构函数 基类的构造函数和析构函数不能被派生类所继承 派生类一般需要定义自己的构造函数和析构函数 派生类的构造及析构函数通常会受到基类构造及析构函数的影响 * 北京邮电大学信息与通信工程学院 -*- 8.3.1 基类只有无参数构造函数 8.3.1 基类只有无参数的构造函数 在基类具有无参构造函数,派生类又没有定义构造函数的时候,系统会自动的调用基类无参构造函数,来构造派生类对象中的基类成分。 如果基类没有无参构造函数,派生类也不定义自己的构造函数
您可能关注的文档
- bx1-1-2-6试卷.ppt
- WATIntroduction描述.ppt
- WAUKESHA转子泵故障描述.ppt
- WCDMARF优化流程描述.ppt
- WCDMA的基本原理及关键技术描述.ppt
- 2016呼和浩特市中考数学砍题指南(01章二次方程-01节数量关系)分解.doc
- B第二章公司法试卷.ppt
- WCDMA基础描述.ppt
- WCDMA技术原理描述.ppt
- 2016怀柔初三期末物理及分解.doc
- 建筑工业化与装配式技术 课件 第8章-新型装配式 .pptx
- 26春 中考总复习导与练 数学 课件 微专题九 与辅助圆有关的问题(5年2考).pptx
- 26春 中考总复习导与练 数学 课件精练册 第28讲 图形的对称、平移和旋转.pptx
- 26春 中考总复习导与练 数学 课件 第20讲 平行四边形 (5年6考).pptx
- 26春 中考总复习导与练 数学 课件 专项二 计算类解答题(5年19考).pptx
- 26春 中考总复习导与练 数学 课件精练册 专项九 二次函数综合题(5年1考).pptx
- 2025年广东省珠海市九洲中学中考数学一模试卷.docx
- 工业机器人数字化工艺仿真与虚拟调试 课件单元六、工业机器人数字化工艺操作建模.pptx
- 智能建造技术与管理 课件 第2章 建筑信息模型.pptx
- 新能源汽车驱动电机构造与检修 课件 项目三 驱动电机减速器拆装与检测.pptx
最近下载
- 新改版教科版四年级上册科学全册精编知识点(背诵用).pdf
- 武汉大学 2013 – 2014 学年第一学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 2024年邮政营业员高级技师资格证考试题库及答案2.docx VIP
- 温泉度假酒店员工培训手册.pdf VIP
- 铀矿石浓缩物分析方法第1部分硫酸亚铁还原重铬酸钾滴定法测定铀.pdf VIP
- 2024年邮政营业员高级技师资格证考试题库及答案6.docx VIP
- 自体输血管理制度与技术规范.docx
- 武汉大学 2012 – 2013 学年第二学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 皖2014J301民用建筑常用饰面.pdf VIP
- 2025年全国甲卷英语高考试题及答案.docx VIP
原创力文档

文档评论(0)