全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C面向对象程序设计复习提要面向对象程序设计的4个核心概念封装;继承;多态;类属一封装数据封装将一个数据(结构)与这个数据有关的操作集合封装在一起,形成一个能动的实体。1类类型声明与定义(1)类是数据和对数据操作定义的封装。数据数据成员操作成员函数(2)类定义使用关键字STRUCTUNIONCLASS(3)成员的访问性质PRIVATEPUBLICPROCTECTED(4)成员函数定义方式(1)在类中定义(封装方式)内联函数(2)在类外定义(散装方式)类中作函数原型声明,类外使用类属符“”定义2对象(1)对象是类的实例表达类型变量类类型对象(2)创建对象在定义类的同时创建对象。例CLASSDATEDATE1在使用时定义对象定义类的对象;定义类对象的对象数组;定义指向类对象指针3类的使用(1)通过对象访问数据成员和调用成员函数用点“”操作符(2)通过对象指针访问数据成员和调用成员函数用“”操作符(3)THIS指针(4)类对象作成员(5)类类型常量(6)类对象作函数参数4类的初始化(1)构造函数与析构函数构造函数与析构函数的作用和调用机制简单的构造函数与析构函数,默认构造函数与析构函数参数化的构造函数与析构函数重载构造函数拷贝构造函数类的类型转换(2)初始化方法对仅有公有段成员,而没有构造函数或基类的类对象,用初始化值表来初始化;带有构造函数的类对象初始化表达式表;赋值表达式例CLASSXXONE1XTWOONE/表达式表XTHREE1/赋值表达式5封装的穿透(1)静态数据成员与静态成员函数静态数据成员的定义方式、访问方式;静态成员函数的定义和调用(2)友员友员函数;友员类6用CONST约束对象成员、参数的作用二继承继承表现了抽象模型之间一般和特殊的关系。一个子类可以从基类继承所有的数据和操作,并扩充自己的数据和操作。类的继承关系是一个层次机制,不同对象的共同性质之需要定义一次,符合软件重用的原则。1派生类的定义派生类可以在基类的基础上定义新的成员派生类可以隐藏基类的成员派生类可以重载基类的成员2派生类对基类成员的访问权控制3多继承的定义4继承关系的类格描述5具有继承关系的类格中使用构造函数初始化的方法;调用构造函数和析构函数的次序6虚基类的作用和定义形式;虚基类的类格中调用构造函数和析构函数的次序三多态一个名字,多种语义;或者相同界面,多种实现。编译时(静态)的多态性通过重载函数实现,运行时(动态)的多态性通过虚函数实现。1函数重载普通函数重载;成员函数重载定义重载函数之间主要依靠参数个数和类型不同区别派生类对基类的函数重载,可以允许参数个数、类型都相同,此时可以用两种方法区分调用1)用类区分类名函数2)以对象区分对象函数2虚函数虚函数声明冠以关键字VIRTUAL基类定义的虚函数,可以在派生类重定义;若重定义函数原型不同,虚特性丢失。通过基类指针,可以在程序执行过程中改变所指对象,调用虚函数的不同实现版本。虚函数必须是类的成员函数;虚函数不能为静态成员函数;可以是另一个类的友员。3纯虚函数与抽象类纯虚函数的声明形式VIRTUALTYPEFUN_NAME(参数表)0纯虚函数在基类中声明,没有定义,任何派生类必须定义自己的实现版本。具有纯虚函数的类成为抽象类。抽象类只能作为基类;不能建立对象;不能作类型符使用。但可以声明抽象类的指针和引用。4运算符重载运算符重载的目的是简洁表达工作方式。重载算符函数可以有不同的实现功能,但不能改变算符运算的优先级。运算符重载的语法形式TYPEXCLASSOPERATE(参数表)重载算符函数调用方式与原算符使用形式相同。重载算符函数的解释XOB及XOB解释为XOBOPERATOR成员函数重载OPERATORXOB友员函数重载XOBYOB解释为XOBOPERATORYOB成员函数重载OPERATORXOB,YOB友员函数重载若运算符操作要修改对象状态,使用成员函数;若运算符操作希望有类型隐式转换,使用友员函数重载。不能用友员函数重载的算符四类属类属机制把所处理的对象的类型参数化。C将类属实现为模板。模板也是一种多态的工具。1函数模板函数模板是对形参类型抽象化的操作定义。函数模板声明形式TEMPLATE函数声明在调用函数模板时用实参(模板实参)对参数类型实例化,称为模板函数。它是由编译系统产生的可执行代码。重载模板函数2类模板类模板是对类的数据成员类型抽象化的类定义。类模板声明形式TEMPLATE类声明声明类类型对象时,用模板参数(模板实参)实例化生成的类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班级工作计划合集8篇
- 经营权租赁合同(30篇)
- 宣传消防安全的演讲稿(35篇)
- 高中化学学业水平合格性考试复习专题四第三节化学键课件
- 高中化学学业水平合格性考试合格演练测评(十六)含答案
- 高二物理教学计划第一学期(31篇)
- 专题04 句型转换-2023-2024学年四年级英语下学期期末备考真题分类汇编(上海专版)
- 新学期入学军训心得体会范文大全5篇
- 关于校园文明演讲稿范文集锦(35篇)
- 幼儿园植树节教案
- “红旗杯”竞赛总题库-6班组长个人职业素养考试题库(附答案)
- 2024贵州省专业技术人员继续教育公需科目考试题库(2024年公需科目课件)
- 电信网络新型违法犯罪案件冻结资金返还申请表
- 工程结算表格
- SG3525中文资料
- 志愿者登记表
- 《中国古代盐业史》PPT课件.ppt
- 来料品质管理制度
- 消防安全责任制
- 细心度测试卷.docx
- 听力计注册技术审查指导原则(2020年第39号)
评论
0/150
提交评论