.专业.专注.
第一章C++语言概述2
第3章 控制结构15
第4章 数组40
第5章 函数52
第六章 指针61
第七章 结构体77
第八章?? 类与对象97
第九章 继承与派生类113
第十章 多态性125
第十一章 C++的IO系统142
第一章C++语言概述
1.1知识要点
1.C++语言的特点
(1)C++语言支持数据封装 封装是指把对象属性和操作结合在一起,构成独立的单元,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。类是数据封装的工具,对象是封装的实现。
(2)C++类中包含私有、公有和保护成员 类的访问控制机制体现在类的成员中可以有公有成员、私有成员和保护成员。对于外界而言,只需要知道对象所表现的外部行为,而不必了解内部实现细节。封装体现了面向对象方法的“信息隐蔽和局部化原则”。
(3)C++语言中通过发送消息来处理对象 消息指对象之间在交互通讯中所传送的信息。消息由三部分构成:消息名、接收消息的对象标识和参数。一个对象向另一个对象发送消息请求某项服务,接收消息的对象响应该消息,进行所要求的服务,并把操作的结果返回给请求服务的对象。
(4)C++语言中允许友元破坏封装性
(5)C++语言允许函数名和运算符重载
(6)C++语言支持继承性 继承指子类(派生类)可以自动拥有父类(基类)的全部属性和服务。父类和子类是一般与特殊的关系。在定义一个子类时,可以把父类所定义的内容做为自己的内容,并加入若干新的内容
(7)C++语言支持动态联编 多态性是指在基类中定义的属性和服务被子类继承后,可以具有不同的数据类型和表现出不同的行为。当一个对象接收到一个请求进行某项服务的消息时,将根据对象所属的类,动态地选用该类中定义的操作。
2.C++程序的组成
注释部分(两种风格)、编译预处理部分(宏定义,文件包含和条件编译、)、程序正文部分(类型定义、常变量定义、函数定义)。最终,程序源代码由ASCII码组成类似单词或词组的单元(词法单元),可以用任意的文本编辑器编辑,源代码中的空白(空格、Tab、回车换行)用来表示词法单元的开始和结束,除这一功能外其余空白将被忽略,但如果是字符串内部的空白(不含回车换行,或者说字符串内不能直接回车换行,需要使用转义符)将作为字符串的一部分输出,不会忽略。
注释:
1)一对符号“/ *”与“* /”之间的内容称为注释。它可以占多行,是从C语言中继承来的一种注释形式。
2)一行中符号“//”之后的内容也称为注释。它只能占一行,是C++语言特有的一种注释形式。
编译预处理命令:
C++的编译预处理命令以“#”开头。C++提供了三类编译预处理命令:宏定义、文件包含和条件编译。
程序主体:用函数组织过程,每个相对独立的过程都要组织成一个函数;不同的程序由不同的函数按层次结构组织而成。一个C++程序至少且仅包含一个main()函数,也可以包含一个main()函数和若干个其他函数。其他函数可以是系统提供的库函数(例如printf()和scanf()函数),也可以是用户根据需要自己编制设计的函数
3.函数
????C++的程序由若干个文件组成,文件名的后缀为.cpp(c?plus?plus)。每个文件又是由函数组成,函数之间可以调用。在这些函数中只有一个函数是主函数main()。程序执行时,操作系统先调用主函数,主函数再依次调用其它函数完成设计任务。
4.程序的编辑、编译、连接和运行
(1)编辑 编辑是将编写好的C++源程序输入到计算机中,生成磁盘文件的过程。
(2)编译和连接过程
编译器的功能是将程序的源代码转换成为机器代码的形式,称为目标代码,然后,再将目标代码进行连接,生成可执行文件。
编译过程又可分为三个子过程。
(1)预处理过程:对源程序编译时,先进行预处理,如果源程序中有预处理命令,则先执行这些预处理命令,执行后再进行下面的编译过程。
(2)编译过程:编译过程主要是进行词法分析和语法分析的过程,又称源程序分析。
1)词法分析。2)语法分析。3)符号表。4)错误处理程序。5)生成目标代码。
连接过程:这是编译的最后一个过程,将用户程序生成的多个目标代码文件和系统提供的库文件中的某些代码连接在一起由连接器生成一个可执行文件,存储这个可执行文件的扩展名为.exe。
(3)运行 一个C++的源程序经过编译和连接后生成了可执行文件。运行可执行文件可在编译系统下选择相关菜单项来实现,也可以采用其他方法。
1.2 典型例题分析与解答
例题1:显示“I am a student”字符串,并通过简单的程序了解和熟悉运用VC++开发环境进行编写、编译、调试、显示结果的过