C++讲义

上传人:cjc****537 文档编号:120328908 上传时间:2020-02-06 格式:DOC 页数:68 大小:523.50KB
返回 下载 相关 举报
C++讲义_第1页
第1页 / 共68页
C++讲义_第2页
第2页 / 共68页
C++讲义_第3页
第3页 / 共68页
C++讲义_第4页
第4页 / 共68页
C++讲义_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《C++讲义》由会员分享,可在线阅读,更多相关《C++讲义(68页珍藏版)》请在金锄头文库上搜索。

1、目 录第1章C+对C与类无关的扩展(1)61.1C+的基本知识61.1.1命名空间61.1.2C+输入输出简介61.2C+对C语言与类无关的性能扩充71.2.1新增const常量定义符71.2.2功能71.2.3定义71.2.4C+中为什么要提供const71.2.5正确区分const在修饰指针时的两种不同用法71.2.6正确区分符号名之前有无const修饰时的不同81.2.7正确区分C语言中的#define与C+中的const的不同:81.3bool类型81.4string 类型91.4.1定义string类型的变量91.4.2转换为C风格的字符串91.4.3string 的使用91.5枚举

2、类型101.5.1枚举类型的声明和定义101.5.2匿名枚举类型101.6变量的块内定义101.6.1正确理解C中变量的定义要求101.6.2C+中的变量定义的规则101.6.3正确理解C+中的变量的各种作用域。111.7变量的引用操作符 &111.7.1引用111.7.2定义的语法111.7.3引用调用的优点121.7.4正确区分引用在如下两种不同的应用场合时的差别:131.7.5函数形参定义为引用参数时的调用要求131.7.6函数形参定义为引用参数时的的编程效果13第2章C+对C与类无关的扩展(2)152.1函数152.1.1函数原型152.2函数返回一个引用152.2.1引用的返回152

3、.3内联函数162.3.1含义162.3.2为什么内联函数优越于宏替换162.3.3内联函数的定义172.3.4不适宜定义为内联函数的场合172.4函数默认参数172.4.1函数重载172.5函数模板182.5.1函数模板182.6定义语法182.6.1应用实例182.7new 和 delete 操作符19第3章C+对C语言与类有关的性能扩充203.1基本知识203.2面向对象(Object Oriented)203.2.1面向对象(OO):203.2.2面向对象程序设计方法(OOP):203.2.3应用实例213.2.4OOP的优点:223.3抽象223.3.1如何实现抽象223.4封装22

4、3.5继承与派生233.6多态性233.7类和对象233.7.1C+中的类:233.7.2如何正确定义出类的成员243.7.3类中成员的访问控制项253.8类中成员之间的访问方式:25第4章C+类和对象的编程264.1对象的含义264.2对象定义语法264.3客观对象264.4C+中的对象264.5使用对象264.6类中的各种特殊成员函数274.6.1内联成员函数274.6.2允许带有缺省形参值的函数274.6.3类中的函数重载274.6.4构造函数274.6.5析构函数294.6.6拷贝构造函数304.7异常处理324.7.1异常处理的方法324.7.2异常规格说明32第5章C+中的对象的各

5、种编程335.1对象赋值335.1.1方法335.1.2应用目的335.1.3实现规则335.2对象数组335.2.1定义的语法345.2.2访问方法345.2.3对象数组的初始化345.2.4对象数组编程时的构造函数设计345.2.5对象数组编程时的析构函数设计345.3对象指针355.3.1C/C+语言中的指针355.3.2C+中的对象指针355.4对象可以作为函数的形参和返回值的定义365.5类中包含有对象成员(类的聚集,对象内嵌,包容法使用类的资源)375.6类中的静态成员375.6.1静态成员的编程375.6.2静态成员的访问方法:385.6.3静态成员函数与非静态成员函数之间的访问

6、:385.7C+中的this指针39第6章友员函数与运算符重载416.1友员函数416.1.1友员函数416.1.2为什么需要友员函数:426.1.3友员函数与成员函数在编程方面的不同点426.1.4友员函数与一般函数(非成员函数)在编程方面的不同点426.2友员类:426.2.1含义426.2.2友员类的定义426.2.3应用目的436.3类的引用性前向说明436.4运算符重载436.4.1运算符重载的实现436.4.2使用类的成员函数实现重载446.4.3使用友员函数实现重载466.4.4自动类型转换466.4.5运算符重载编程的进一步说明47第7章C+类的继承与派生487.1入门知识48

7、7.1.1 继承487.1.2 派生487.1.3 为什么需要继承与派生487.1.4 应用的目的487.1.5 继承的可行性487.2如何实现继承与派生497.2.1基类和派生类497.2.2派生类的定义语法497.2.3如何设计派生类成员497.3继承的方式507.3.1三种继承的方式差别507.3.2public 和 private继承方式的区别507.4继承的多重性527.4.1 含义527.4.2 对象的多重相关性527.4.3 多重继承时的派生类的定义语法527.4.4 应用场合527.5继承时的构造函数527.5.1设计原则527.5.2定义的格式537.6继承时的析构函数547

8、.6.1设计原则547.6.2定义格式547.6.3原因547.6.4调用次序54第8章多重多级继承及虚基类568.1多重多级继承时访问二义性568.1.1访问时的二义性568.1.2在多重继承时的二义性568.1.3同名支配(覆盖)原则578.1.4在多级继承时的二义性578.2虚基类578.2.1定义语法578.2.2作用588.2.3如何判断是否为虚基类的问题588.2.4处理的方法588.2.5带有虚基类的最远的派生类的构造函数58第9章多态性和虚函数609.1多态性609.1.1多态性609.1.2作用609.1.3赋值兼容原则609.1.4指向派生类及基类对象的指针619.2虚函数

9、619.2.1定义语法619.2.2虚函数的特点629.2.3为什么需要虚函数629.2.4静态联编639.2.5动态联编的应用639.2.6如何实现动态联编639.3虚析构函数649.3.1原因649.3.2应用场合649.4纯虚函数和抽象基类659.4.1纯虚函数659.4.2定义语法659.4.3抽象基类的编程规则659.4.4抽象基类的用途65第10章综合应用6810.1类模板6810.1.1模板的声明6810.1.2模板的使用68第1章 C+对C与类无关的扩展(1)【本章中的知识要点】 正确理解C语言与C+语言的差别 C+对C语言扩充体现的几个方面 【重点难点】 const用法 st

10、ring用法 引用1.1 C+的基本知识1.1.1 命名空间C+提供名字空间来防止命名的冲突。例如,如果两个库都定义了cout,当一个应用程序使用这两个库时,将导致命名冲突。大型应用系统由许多人来完成,命名冲突是一种潜在的危险,程序员必须细心的定义标志符以保证名字的唯一性。名字空间std涵盖了标准C+的定义和声明,例如:std:cout。q 命名空间的声明:namespace ttlint x; q 命名空间的使用(两种方式):1) 先引用再访问例如:using ttl:x; 或者 using namespace ttl;x=6; x=6;2) 直接访问如:ttl:x=34;1.1.2 C+输

11、入输出简介C+的基本输出包括cin和cout。1.2 C+对C语言与类无关的性能扩充1.2.1 新增const常量定义符1.2.2 功能它用来冻结一个变量的值,使其值在程序中不能被进一步改变(置成只读属性,即变为常量)。1.2.3 定义const 类型定义符 变量名=初值; 如: const int sumValue=10; /常量定义 const int *ptr; /限定指针 void Function(const int & X) /限定函数的形参 1.2.4 C+中为什么要提供const其目的是替代C语言中的编译预处理命令#define(常量定义),但比它更加语义精确因为#define

12、无法准确地反映常量的数据类型。如: #define sumValue 10 /此时的sumValue是char型还是int型?对变量一经const 修饰后,必须给它赋初值(但用于函数的形参时不需赋初值),一经const修饰后便不能修改此符号名之值。q const int x=12;x=54; /errorq void Display(const int *ptr, const int n) cout ptr0;/=*(ptr+0),显示数组中的第一个元素之值ptr0=1; /错误,不能修改其值(不能通过指针来改变目标单元之值)*ptr=1; /错误,不能修改其值(不能通过指针来改变目标单元之值)1.2.5 正确区分const在修饰指针时的两种不同用法q const int *ptr=&X; 此时不能通过指针来访问改变目标单元之值,即*ptr=1 是错误的,但是ptr本身可以被改变 ptr=&Y;此种用法常见于函数的形参。 void fun(const int * ptr) *ptr=1; /错误的 q int * const ptr=&X;此时ptr本身不可以被改变( ptr=&Y是错误的);但ptr所指向的目标的单元之值是可以被改变的(如 *ptr=2; 即 X=2);此时ptr类似于数组名(常量指针)。 int ptr10; ptr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号