《第一章.C++面向对象程序设计》由会员分享,可在线阅读,更多相关《第一章.C++面向对象程序设计(27页珍藏版)》请在金锄头文库上搜索。
1、C+面向对象程序设计面向对象程序设计谭浩强编著谭浩强编著 清华大学出版社清华大学出版社湖北工程学院计算机与信息学院湖北工程学院计算机与信息学院张张 涛涛第1章 C+的初步知识l1.1 从C到C+l1.2 最简单的C+程序l1.3 C+对C的扩充l1.4 C+程序的编写和实现l习题1.1 从从C到到C+l虽然C有简洁灵活移植性好的诸多优点但随着项目规模的增大,开发困难也显现出来lOOP思想的提出l类的概念引进lC object C C+l加强版的C加强在哪里?l面向对象的机制lC原有功能的加强1.2 最简单的最简单的C+程序程序例1.1我们看到了什么我们看到了什么l#include 为什么没有.
2、h?lUsing namespace std;是什么?lint main() 一般不是写做void main()l/*/ 与/两种注释方法的异同?l输入输出方式 cout1.2 最简单的最简单的C+程序程序例1.31.2 最简单的最简单的C+程序程序 “类类”终于登场了终于登场了1.2 最简单的最简单的C+程序程序 “类类”终于登场了终于登场了l类(class)l类的成员:成员函数(或称方法),数据成员(变量)l封装,信息隐蔽l对象(object)l类 :Studentl对象:stud1,stud21.3 C+对对C的扩充的扩充l1.3.1 C+的输入输出l1.3.2用const定义常变量l1
3、.3.3函数原型声明l1.3.4函数的重载l1.3.5函数模板l1.3.6有默认参数的函数l1.3.7变量的引用l1.3.8内置函数l1.3.9作用域运算符l1.3.10字符串变量l1.3.11动态分配/撤销内存的运算符new和deletel1.3.12小结1.3.1 C+的输入输出的输入输出l1. 用用cout进行输出进行输出 l每一个输出项都要一个每一个输出项都要一个提取符提取符l提取的数据类型与接受它的类型相同提取的数据类型与接受它的类型相同1.3.2用用const定义常变量定义常变量lconst定义常变量?l 常量?变量?l#define PI 3.14 与 const float P
4、I=3.14;的异同1.3.3函数原型声明函数原型声明1.3.4函数的重载函数的重载l概念 所谓函数的重载是指完成不同功能的函数可以具有所谓函数的重载是指完成不同功能的函数可以具有相相同的函数名同的函数名。 lC+的编译器是根据的编译器是根据函数的实参函数的实参来确定应该调用哪一来确定应该调用哪一个函数的个函数的int fun(int a, int b) return a+b; int fun (int a) return a*a; void main(void) coutfun(3,5)endl; coutfun(5)endl;8251.3.4函数的重载函数的重载l定义的重载函数必须具有定义
5、的重载函数必须具有不同的参数个数不同的参数个数,或不同的,或不同的参数类型参数类型。只有这样编译系统才有可能根据不同的参。只有这样编译系统才有可能根据不同的参数去调用不同的重载函数。数去调用不同的重载函数。l仅返回值不同时仅返回值不同时,不能定义为重载函数。即仅函数的,不能定义为重载函数。即仅函数的类型不同,不能定义为重载函数类型不同,不能定义为重载函数 int fun(int a, int b) return a+b; float fun (int a,int b) return (float) a*a; void main(void) coutfun(3,5)endl; coutfun(3
6、,5)endl;1.3.5函数模板函数模板l函数模版的意义l一般形式lTemplatel它与重载的异同1.3.6有默认参数的函数有默认参数的函数l在在C+中定义函数时,允许给参数指定一个缺中定义函数时,允许给参数指定一个缺省的值。省的值。在调用函数时,若明确给出了这种实在调用函数时,若明确给出了这种实参的值,则使用相应实参的值;若没有给出相参的值,则使用相应实参的值;若没有给出相应的实参,则使用缺省的值。应的实参,则使用缺省的值。l注意一点注意一点,不能又重载不能又重载,有缺省参数有缺省参数.P17int area(int long=4 , int width=2) return long*
7、width;void main(void ) int a=8, b=6; cout area(a,b) endl; cout area(a) endl; cout area( ) endl; 481681.3.7变量的引用变量的引用l4. 将引用作为函数参数P20P21l5. 对引用的进一步说明P22 6点1.3.8内置函数内置函数(内联函数内联函数)l内联函数的实质是用存储空间(使用更多的存内联函数的实质是用存储空间(使用更多的存储空间)来换取时间(减少执行时间)储空间)来换取时间(减少执行时间).l内联函数的定义方法是,在函数定义时,内联函数的定义方法是,在函数定义时,在函在函数的类型前增
8、加修饰词数的类型前增加修饰词inline。主调函数主调函数调用处调用处被调函数被调函数主调函数主调函数调用处调用处被调函数被调函数内联函数内联函数 将被调函数体的代将被调函数体的代码直接插到调用处码直接插到调用处内联函数内联函数1.3.9作用域运算符作用域运算符l全局 与 局部l:作用域运算法#includeusing namespace std;float a = 3.14;int main()int a = 5;coutaendl;/cout:aendl;return 0;1.3.10字符串变量字符串变量l1. 定义字符串变量 (string类型)l 引入#include 注意没有.hl2
9、. 对字符串变量的赋值l比较其与字符数组的不同l3. 字符串变量的输入输出l4. 字符串变量的运算l赋值,加运算(连接运算),关系运算l5. 字符串数组P28 4点1.3.11动态分配动态分配/撤销内存的运算撤销内存的运算符符new和和deletelnew 类型 初值ldelete 指针变量/delete 指针变量1.4 C+程序的编写和实现程序的编写和实现l我们的实验环境VC6.0l源代码两种创建过程l编辑l编译,连接,运行l调试1.5 关于关于C+上机实践上机实践lVC与Dev C+的优缺点l编程习惯问题作业作业l实验题目 P36 11 13 17l17题填写实验报告l实验题目:简单C+程序编写l实验目的:学习理解C+程序的编写调试过程l实验内容:抄题