第9章 从结构化程序设计到面向对象.ppt
《第9章 从结构化程序设计到面向对象.ppt》由会员分享,可在线阅读,更多相关《第9章 从结构化程序设计到面向对象.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 从结构化程序设计从结构化程序设计到面向对象的程序设计到面向对象的程序设计 1教学目标n了解C+对C的扩充和改进n掌握面向对象程序设计的基本思想和方法n掌握面向对象的概念n理解面向对象程序设计的特性29.1 C+对C的改进和扩充 9.2 面向对象程序设计方法39.1 C+对C的改进和扩充v输入输出流v函数的重载v带默认参数的函数v内联函数v一元作用域运算符v引用与函数4v输入输出流nscanf和printf输入输出的缺陷n输入输出流的概念:n输入输出是以字节流的形式实现的,流实际上是一个字节序列。n在输入操作中,字节从输入设备流向内存;输出操作中,字节从内存流向输出设备。5n流是一个
2、抽象的概念,实际进行输入输出时,流通常都是和某种具体的物理设备联系起来。键盘和显示器是计算机的标准输入输出设备,数据从键盘或磁盘文件流入内存的操作称为提取操作,数据从内存流向屏幕或磁盘文件称为插入操作。6n用cout进行输出 用cout进行输出时必须与预定义的插入符一起使用,输出时不用指定数据类型,系统自动按数据类型进行输出。#include void main()int i=10;float j=8.5;char*str=Windows!;cout i=i endl;cout j=j endl;cout str=str 一起使用,输入时不用指定数据类型,也可以使用多个提取符,将键盘输入的数据
3、送到输入流cin中,然后存到内存。#include void main()/*主函数*/int i1,i2,sum;/*变量定义*/cout i1 i2;/*输入数据*/sum=i1+i2;/*计算i1,i2的和*/cout sum=sum endl;/*输出sum的值*/81、重载的需要性n在C中,每个函数需要唯一的名字,例如,求两个数中较大的数,对于不同类型需要不同的名字:int imax(int,int);float fmax(float,float);double dmax(double,double);v函数的重载 9n函数的重载:即建立多个同名函数,但每个函数的参数个数或类型不同,
4、系统根据参数个数和类型决定调用哪个函数。例如,将上面三个函数的声明改为:int max(int,int);float max(float,float);double max(double,double);102、使用说明n仅返回类型不同,但函数名和形参都相同,则是非法的,如:int fun(int a,int b);long fun(int a,int b);n同名函数应该具有相同的功能,仅数据类型不同而已,否则可读性受破坏n当重载函数有默认参数时,应避免二义性nint fun(int a,int b=0);nint fun(int a);/error11【例9-1】参数类型上不同的重载函数#
5、includeint add(int,int);double add(double,double);void main()cout add(5,10)endl;cout add(5.6,10.2)endl;int add(int x,int y)return x+y;double add(double x,double y)return x+y;12【例9-2】参数个数上不同的重载函数#includeint min(int a,int b);int min(int a,int b,int c);void main()cout min(-2,8)endl;cout min(3,5,4)endl;
6、int min(int a,int b)return a b?a:b;int min(int a,int b,int c)int t=min(a,b);return min(t,c);13v带默认参数的函数n函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明 (1)当有函数声明时void point(int x=3,int y=4);/声明中给出默认值void point(int x,int y)/定义中不允许给出默认值 coutxyendl;(2)没有函数声明时,在定义函数中给出默认值142.默认参数的顺序规定n默认参数必须是最右边的参数,即一个
7、指定了默认值参数的右边,不能出现没有指定的默认参数。void fun(int a=1,int b,int c=3);/errorvoid fun(int a,int b=2,int c=3);/ok15【例9-3】使用默认参数计算立方体体积#includeint volume(int length,int width=10,int height=20)void main()int l(50),w(40),h(30),area;area=volume(l,w,h);cout“The area of cube equal:t”areaendl;area=volume(l,w);cout“The a
8、rea of cube equal:t”areaendl;area=volume(l);cout“The area of cube equal:t”areaendl;int volume(int length,int width,int height)return length*width*height;16v内联函数n1.内联函数的需要性#include int isnumber(char);/函数声明void main()char c;while(c=cin.get()!=n)if(isnumber(c)/调用一个小函数 cout you entered a digitn;else cou
9、t=0&ch=0&ch=9)?1:0;3.内联函数的函数体限制:ninline用于经常用的小函数(15行)n内联函数内不能使用循环和开关语句n递归函数不能做内联函数18v一元作用域运算符(:)n用:在同名局部变量作用域中访问全局变量#include double n=5;int main()float n=8;cout Local float value of n=n nGlobal double value of n=:n endl;return 0;结果:结果:Local float value of n=8Global double value of n=519v引用与函数1.引用的概念
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 从结构化程序设计到面向对象 结构 程序设计 面向 对象
限制150内