- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
引子 构造函数与析构函数 三种继承方式的使用 多态性与虚函数的使用 12.1 概述 C++的发展历程 C++语言是在C语言的基础上扩展而成的,是C语言的超集。 增加了面向对象程序设计(Object-Oriented Programming,简称OOP)的支持。 例C++程序。 面向对象程序设计 类是一组具有相同属性和相同操作的对象的集合。对象就是一个包含有数据以及相关操作的集合的软件包。基本特征: 抽象 对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装 将抽象得到的数据成员和代码成员结合起来,形成一个有机的整体,也就是将数据与操作数据的行为进行有机地结合。 封装 指在已有类(称父类)基础上创建一个新类(称派生类),用户通过增加、修改或替换父类中的函数成员产生派生类,以便对父类进行扩充。 多态 指类中具有相似功能的不同函数使用同一个名称来实现。 12.2 C++对C的扩充 C++的输入输出 用cout输出 cout必须和一起使用 cout“Hello world!”endl; 例如 用cin输入 标准输入流cin从输入流中提取字符,并将其转换为输入语句所指定的数据类型,然后存储在指定的内存位置。 int n; cinn; 例如 重载函数与缺省参数的函数 函数重载 参数类型不同的重载函数,例如 参数个数不同的重载函数,例如 带缺省参数的函数: C++允许实参与形参个数不同 缺省形参值必须按从右向左的顺序定义 int add(int x,int y=5,int z=6); 同时使用重载函数和缺省参数的函数,系统会发生错误 变量的引用 定义 类型 引用名=变量名 如: int a=5; int b=a; 例如,使用引用调用将两整数进行交换。 内联函数 内联函数是用关键字inline说明的函数,在编译时用内联函数的函数体替换内联函数的调用。 作用域运算符 定义: “∷”是C++的一个新的运算符,称为作用域运算符 “∷”为单目运算符,它的右操作数是一个标识符 “∷”用于限定访问全局作用域范围内的标识符,即“∷”不能访问函数中的局部变量 例如:在函数体内访问同名的局部变量和全局变量 new和delete 用于动态地分配和释放内存空间 new和delete基本使用方式 p=new type(初值) delete p; 注意:new和delete是运算符,不是函数,因此执行效率高。在程序中不要混合使用C和C++的动态内存管理机制。malloc和free函数要配对使用,同样new和delete也要配对使用。 例如:用new和delete实现动态内存分配 12.3 类与对象 类的定义 数据成员:描述问题的属性; 成员函数:描述问题的行为和变化等。 定义形式 成员函数的定义方式 例如 对象 对象(Object)是类的一个实例(Instance) 对于一般对象,访问其成员方式为: 对象名.数据成员; 或 对象名.成员函数(实参表); 对于指向对象的指针,访问其成员方式为: 对象指针-数据成员; 或 对象指针-成员函数(实参表); 例 Point类的完整程序。 构造函数 一种特殊成员函数,其函数名称与类名称相同,没有返回类型。 构造函数的作用就是在对象被创建时利用特定的值构造对象,将一个对象初始化为一个特定的状态,使其具有区别于其他对象的特征。 程序员如果没有定义构造函数,系统将提供一个参数表为空、函数体为空的默认构造函数。 例如 拷贝构造函数 使用一个已经存在的对象去初始化一个新的同类的对象,即完成本类对象的复制。 定义形式: 类名(类名 对象) { 函数体 } 例如 析构函数 对象消失时执行一些清理任务的工作,如释放创建对象时动态分配的内存空间. 在类名前面加“~”构成,以便和构造函数名相区别. 定义形式: 类名::~类名() { 函数体 } 例如 12.4 继承与派生 继承与派生的方式 继承与派生的概念 继承是面向对象程序设计中一种重要的机制,允许一个新类继承已有类的属性,并扩展已有类的功能。 一个派生类可以同时有多个基类,这种情况称为多继承。一个派生类只有一个直接基类的情况,称为单继承。 例如 派生类的建立 吸收基类中除构造函数和析构函数外的所有成员。 改造基类成员,可通过继承方式改变基类成员的访问控制属性,或者通过在派生类中声明同名的成员覆盖基类的成员。 派生类中添加新的成员。 定义形式: class 派生类名:继承
您可能关注的文档
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第6讲 选择结构程序设计--三角形判断.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第6讲 选择结构程序设计--三角形判断1.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第8讲 数组.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第8讲 数组1.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第9讲 函数1.PPT
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第9讲 函数2.PPT
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第9讲 函数21.PPT
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第10讲 编译预处理.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第11-1讲 指针(概述和运算)1.ppt
- C语言程序设计 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 安俊秀 第11-2讲 指针(指针与函数、数组1).ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 贾宗璞 许合利 c13 VC环境.ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 赵山林 高媛 第八章 数组.ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 赵山林 高媛 第七章 指针.ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 赵山林 高媛 第十一章 位和位段.ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 赵山林 高媛 第四章 选择结构程序设计.ppt
- C语言程序设计 工业和信息化普通高等教育“十二五”规划教材立项项目 作者 赵山林 高媛 第五章 循环结构程序设计.ppt
- C语言程序设计 配套课件 作者 朱立华 王立柱 C语言程序设计课件第1章090909.ppt
- C语言程序设计 配套课件 作者 朱立华 王立柱 C语言程序设计课件第3章091013.ppt
- C语言程序设计 配套课件 作者 朱立华 王立柱 C语言程序设计课件第4章090909.ppt
- C语言程序设计 配套课件 作者 朱立华 王立柱 C语言程序设计课件第6章090924.ppt
文档评论(0)