- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++编程 * 课程目标 学习c++基本知识和技能 要求学员能正确的理解和运用c++基本知识和技能 * 课程分为如下几块 C++单个类的设计 C++类的继承 容器和算法 IO流 C++的异常处理 Qt Qt扫雷项目 * 第一部分 c++类的设计 预习检测 什么是引用? 引用必需要初始化吗? 定义类的友元函数的关键字是什么? C++的显式转换有哪几种定义? 复制控制包含那几个函数? * 第一部分 c++概述 C++是由ATT Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的? C++保留了C语言原有的所有优点, 增加了面向对象的机制? C++是由C发展而来的, 与C兼容? 用C语言写的程序基本上可以不加修改地用于C++? 从C++的名字可以看出它是C的超越和集中? C++既可用于面向过程的结构化程序设计, 又可用于面向对象的程序设计, 是一种功能强大的混合型的程序设计语言? C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。 面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率?不要把面向对象和面向过程对立起来, 面向对象和面向过程不是矛盾的,而是各有用途?互为补充的? 包括类和对象的概念、类的机制和声明、类对象的定义与使用等。这是面向对象的程序设计的基础。基于对象就是基于类。与面向过程的程序不同,基于对象的程序是以类和对象为基础的,程序的操作是围绕对象进行的。 在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。 * 第一部分 c++类的设计 第一节 引用 引用是变量的别名, 与被引用的变量表示同一个对象 通过引用可以改变被引用对象的值 引用必须被初始化 const引用表示被引用的对象是只读体 符号的多种含义 小结 引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。 用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。 引用与指针的区别是,指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。 * 第一部分 c++类的设计 第二节 类的设计 通常将类的定义及类成员函数的声明放在头文件, 类的成员函数实现放在源文件中 类的定义: 关键字class, 类中包含数据和操作数据的函数 成员访问限定符: public, private, protected, 类的作用域 变量, 对象, 类, 类型的概念 类的构造函数, 析构函数 Inline函数:关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。定义在类声明之中的成员函数将自动地成为内联函数,内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。 This指针: this指针是类的一个自动生成、自动隐藏的私有成员,它存在于类的非静态成员函数中,指向被调用函数所在的对象的地址。全局仅有一个this指针,当一个对象被创建时,this指针就指向对象数据的首地址, this指针指向的是对象自身。 函数的重载:指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。 多态: 多态性包含编译时的多态性、运行时的多态性两大类。 即:多态性也分静态多态性和动态多态性两种。 * 第一部分 c++类的设计 第三节 new和delete运算符用于动态分配和撤销内存的运算符 1.???开辟单变量地址空间 new的作用:分配足够的内存以便容纳所需类型的对象,调用构造函数初始化内存中的对象 ?1)int * a = new int;? //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址. ???2)int *a = new int(5); // 作用同上,但是同时将整数赋值为5 2.???开辟数组空间 一维: int *a = new int[100];//开辟一个大小为100的整型数组空间 ?二维: int(*a)[6]=new int[5][6]; Delete的作用: 调用对象的析构函数, 在释放对象 1. int *a = new int; ?
您可能关注的文档
- CCNA第十三章应用ISDNBRI实现广域网连接CICND10S13A.ppt
- CCNA第十四章应用帧中继实现广域网连接CICND10S14A.ppt
- case5-股票与债券.ppt
- CH02数据通信技术.ppt
- ch4Java面向对象特性.ppt
- CH03数据链路控制.ppt
- ch7数字系统分析.ppt
- CHAPT2国际货物运输MicrosoftPowerPoint演示文稿.ppt
- chapter05城市化的历史进程.ppt
- chapter10英语翻译方法6.ppt
- 2020年杭州师范大学347心理学综合硕士研究生考试真题.pdf
- 山东省淄博市2021-2022学年高三英语下学期一模考试试题(含答案).pdf
- 四川省成都市青白江区2021-2022学年九年级上学期期末数学考试试题(含答案).pdf
- 2019年重庆理工大学820化工原理硕士研究生考试真题(A卷).pdf
- 2019年重庆理工大学815电路硕士研究生考试真题(A卷).pdf
- 2024年大学中医药课程考试资料:临床案例分析-生化.pdf
- 2020年昆明理工大学821水力学硕士研究生考试真题(A卷).pdf
- 北京市昌平区2021至2022学年七年级上学期期中数学试题(含答案).pdf
- 2022年1月28日广东遴选面试真题(佛山市三水区).pdf
- 2021年12月18日重庆事业单位面试真题(重大项目服务中心).pdf
最近下载
- 办公用品订购合同范本.docx VIP
- WORD版本刻度尺-A4纸打印可用.doc
- 90nm逻辑产品Peeling缺陷的解决方案.pdf
- 神经系统的分级调节.pptx VIP
- 中建施工总平面布置图设计(69页).pdf
- 2024年公共卫生与预防医学继续教育平台“大学习”活动线上培训栏目考试题库(1392题).docx
- 北师大版(2023)必修第一册 Unit 2 Sports and Fitness单元教学设计.pdf VIP
- 2016-2023年长沙民政职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析.docx
- 农业经济学-农业资金.ppt VIP
- 齐鲁医学神经系统疾病的辅助检查.ppt VIP
文档评论(0)