- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++面对对象程序设计
第一章:c++的初步知识
C语言和c++的区别?
C语言是构造化和模块化的语言,它是面对过程的。在解决较小规模的程序时,使用c语言极为方便。但是当问题规模较复杂时,c语言便显得较为吃力。
C++保存了c语言的全部优点,并增加了面对对象机制,含有类、封装、继承、多态等特性,在开发较大规模程序时能够明显提高软件开发效率。
#define与const
在c语言中惯用#define指令在定义符号常量,这样定义是在预编译时进行字符置换,在预编译后,程序不再有PI这个标记符。PI不是变量,没有类型,不占用存储单元,且容易出错。
C++中提供const定义常变量,它含有变量的属性,有数据类型,占用存储单元,有地址,可用指针指向它,只是在程序运行时变量值不变,且不能变化。
什么是函数模板?
建立一种通用函数,其函数类型和形参类型不具体指定,用一种虚拟的类型来替代,这个通用函数就称为函数模板。
声明:templatetypename T
什么是“引用”?
引用又称别名,引用的作用是为一种变量再起另一种名字,方便在需要时能够间接引用该变量。对一种变量的“引用”的全部操作,事实上都是对其原来的变量的操作。在声明引用时,必须对其初始化。
注:引用不是独立的变量,不单独分派存储单元。
值传递和引用传递的区别?
值传递将实参的值传递给形参,形参是实参的一种拷贝;
引用传递是将实参的地址传给引用型形参,这时形参和实参是同一种变量
什么是内置函数?
调用函数需要一定的时间,如果有些函数需要频繁使用,则累计所用时间会很长,从而减少程序的执行效率。C++中能够通过在函数左端添加核心字inline,使程序在编译时将所调用的函数代码直接嵌入到主调函数中,从而减少运行时间,提高运行速度,这便是内置函数。
new/delete和malloc/free
在软件开发中,经常需要动态分派和撤销内存空间。
c语言中使用malloc/free,在使用malloc函数时必须指定需要开辟的内存空间的大小,(格式:malloc(size)),另外malloc函数只能从顾客处懂得应开辟空间的大小而不懂得数据的类型,因此无法使其返回的指针指向具体的数据。
C++中使用new/delete,(格式:new 类型[初值]),使动态分派空间更加方便。
第二章:类和对象的特性
对象:客观世界的实体。每个对象均由数据和函数构成,数据即属性,函数用来对数据进行操作,方便实现某些功效。
封装:①将有关的数据和操作代码封装在一种对象中,形成一种基本单位,各个对象间互相独立,互不干扰。②将对象中某些部分对外隐蔽,只留下少数接口,方便与外界联系,接受外界消息。
抽象:将有关事物的共性归纳、集中的过程,表达同一类事物的本质。(类是对象的抽象,对象是类的实例)
继承:
多态:由继承而产生的派生类,其对象会对同一消息不同的反映。
面对对象设计和面对过程设计的区别?
面对过程设计的围绕功效进行的,一种函数实现一种功效,全部数据都是公用的,程序设计者必须考虑每一种细节,即什么时候对什么数据进行操作。(构成:程序=算法+数据构造)
面对对象设计是围绕对象进行的,将数据和有关操作封装成一种个对象,程序设计者只需考虑如何设计类和对象以及如何向有关对象发送消息即可。(构成:程序=对象1+对象2+…+消息)
类和对象的关系
类是对象的抽象,而对象是类的具体实例。(类/对象 相称于 构造体类型/构造体变量)
类是抽象的,不占用内存;对象是具体的,占用存储空间。
C++中类和构造体的异同
C++语言在编写时为了兼容c,对构造体的功效进行了扩展,使构造体类型也含有封装的特点,用struct声明的构造体类型事实上也是类。
区别:
(核心)用struct声明的类,如果对其组员不做私有和公有的声明,则默认为公有;而用class定义的类,如果对其组员不做公有和私有的声明,则默认为私有。
构造体的执行效率要比类高。
构造体没有析构函数,类有析构函数。
构造体不能继承,类能够继承
组员函数的存储方式?
一种对象所占的空间大小只取决于该对象数据组员所占的空间,而与组员函数无关。函数的目的代码存储在对象空间之外,供不同的对象调用。
(c++设立了this指针用来指向不同的对象)
第三章:如何使用类和对象
1. 构造函数的作用?
构造函数用来解决对象的初始化,不需要顾客来调用它,而是在建立对象时自动执行,且只能执行一次。
构造函数的名字必须与类名同名,不能任意命名。它不含有如何类型,不返回任何值。
一种类中能够定义多个构造函数,方便为对象提供不同的初始化办法,这些构造函数含有相似的名字,而参数个数或类型不同。(重载)
析构函数的作用?
析构函数的作用是在撤销对象占用的内存前完毕某些清理工作,使这部分内存能够被分派给新对象使用。在
您可能关注的文档
- 10大经典数据分析模型.docx
- 10环本《环境地学》复习题.doc
- 1舞台设备培训及使用手册.doc
- 2023离婚协议书完整版.doc
- 2023高考地理模拟试题.doc
- 65岁及以上老年人健康状况分析报告.doc
- 6MW汽轮机作业指导书.doc
- 6S管理宣传手册.doc
- 7.机械毕业设计 毕业设计题目 CAD.doc
- 85度C选址研究报告.doc
- 2024云南红河州金平县发展集团限公司招聘5人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024内蒙古锡林郭勒盟西乌珠穆沁旗林业和草原局招录生态管护员【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024云南省事业单位联考招录【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024下半年湖北孝感市孝南区部分事业单位招聘79人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024下半年四川绵阳事业单位历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024中铁四局总部部门及直属单位员工公开招聘6人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024中铁建电气化局集团南方工程限公司2024届校园招聘【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024云南中冶建设工程限责任公司招聘10人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024中钢集团高校毕业生招聘575人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024下半年浙江嘉兴南湖区卫生系统招聘事业单位工作人员31人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
文档评论(0)