c教程-类的设计和继承.ppt_第1页
c教程-类的设计和继承.ppt_第2页
c教程-类的设计和继承.ppt_第3页
c教程-类的设计和继承.ppt_第4页
c教程-类的设计和继承.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+编程 2 课程目标 v学习c+基本知识和技能 v要求学员能正确的理解和运用c+基本知 识和技能 3 课程分为如下几块 vC+单个类的设计 vC+类的继承 v容器和算法 vIO流 vC+的异常处理 vQt vQt扫雷项目 4 第一部分 c+类的设计 预习检测 1.什么是引用? 2.引用必需要初始化吗? 3.定义类的友元函数的关键字是什么? 4. C+的显式转换有哪几种定义? 5.复制控制包含那几个函数? 5 第一部分 c+概述 C+是由AT /开辟一个存放数组的存储空间,返回一个指向该存储空间的地址. 2)int *a = new int(5); / 作用同上,但是同时将整数赋值为5 2. 开辟数组空间 一维: int *a = new int100;/开辟一个大小为100的整型数组空间 二维: int(*a)6=new int56; Delete的作用: 调用对象的析构函数, 在释放对象 1. int *a = new int; delete a; /释放单个int的空间 2.int *a = new int5; delete a; /释放int数组空间 9 第一部分 c+类的设计 第四节 类型转换 隐式类型的转换 int a = 1; double b = 0.1 double c = a+b; 指针转换: int a3; int * b = a; 转换为bool 类型 算术值和指针值都可以转换为 bool 类型。 Int * a = 0; If(a) cout (a); double c = (double)a; reinterpret_cast:为操作数的位模式提供较低层次的重新解释 int b = 1; int a = (int) int * pb = reinterpret_cast(a); cout (istream /函数动态绑定, 多态调用 return 0; 触发动态绑定的两个条件: 第一,只有指定为虚函数的成员函数才能进行动态绑定 第二,必须通过基类类型的引用或指针进行函数调用。 多态有两种实现方式是: 一是同一个类中函数的重载; 二是子类改写父类中方法的内部实现。 20 第二部分 c+类的继承 派生类到基类的转换 如果有一个派生类型的对象,则可以使用它的地址对基类类型的指针进行赋 值或初始化。 基类到派生类的转换: 从基类到派生类的自动转换是不存在的。 class A ; class B: public A ; int main() A * pa = new B; /B * b = pa;/报错 B * b = static_cast(pa); return 0; 21 第二部分 c+类的继承 第二节派生类构造函数 派生类的构造函数受继承关系的影响,每个派生类构造函数除了初始化自己的数据成 员之外,还要初始化基类。子类的构造函数定义中用以下格式调用父类的构造函数: 子类名:构造函数名(参数表):父类名(参数表) class Base public: Base(int i =0 ): m_i(i) protected: int m_i; ; class Derive : public Base public: Derive(int i =0, const string ; int main() Derive der; return 0; 22 第二部分 c+类的继承 复制控制和继承 class Person public: Person(const string Person return *this; private: string m_name; ; 23 第二部分 c+类的继承 class Student: public Person public: Student(const string stu_no = stu.stu_no; return *this; private: int stu_no; ; 24 第二部分 c+类的继承 第三节 派生类的撤销 对象的撤销顺序与构造顺序相反:首先运行派生析构函数,然后按继承层次 依次向上调用各基类析构函数。 基类的析构函数必须定义为虚函数 25 第二部分 c+类的继承 本章总结 类的继承主要讲述了类与类之间继承关系. 子类可以访问父类的protected成员, 而不能访问p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论