欢迎来到天天文库
浏览记录
ID:52266745
大小:282.96 KB
页数:34页
时间:2020-04-03
《C语言从结构化程序设计到面向对象.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章从结构化程序设计到面向对象的程序设计北京交通大学计算机学院计算机程序设计基础课程组1教学目标了解C++对C的扩充和改进掌握面向对象程序设计的基本思想和方法掌握面向对象的概念理解面向对象程序设计的特性29.1C++对C的改进和扩充9.2面向对象程序设计方法9.2.1面向对象概念9.2.2类和对象9.2.3面向对象程序设计的特性39.1.1输入输出流scanf和printf输入输出的缺陷输入输出流的概念:输入输出是以字节流的形式实现的,流实际上是一个字节序列。在输入操作中,字节从输入设备流向内存;输出操作中,字节从内存流向输出设备。流是一个抽象的概念,实际进行输入输出时,流通
2、常都是和某种具体的物理设备联系起来。键盘和显示器是计算机的标准输入输出设备,数据从键盘或磁盘文件流入内存的操作称为提取操作,数据从内存流向屏幕或磁盘文件称为插入操作。9.1C++对C的改进和扩充4用cout进行输出用cout进行输出时必须与预定义的插入符<<一起使用,输出时不用指定数据类型,系统自动按数据类型进行输出。#includevoidmain(){inti=10;floatj=8.5;char*str="Windows!";cout<<"i="<3、l;}9.1C++对C的改进和扩充5用cin进行输入用cin进行输入时必须与预定义的提取符>>一起使用,输入时不用指定数据类型,也可以使用多个提取符,将键盘输入的数据送到输入流cin中,然后存到内存。#includevoidmain()/*主函数*/{inti1,i2,sum;/*变量定义*/cout<<"Entertwointegernumbers:";/*输出提示信息*/cin>>i1>>i2;/*输入数据*/sum=i1+i2;/*计算i1,i2的和*/cout<<"sum="<4、进和扩充61、重载的需要性在C中,每个函数需要唯一的名字,例如,求两个数中较大的数,对于不同类型需要不同的名字:intimax(int,int);floatfmax(float,float);doubledmax(double,double);函数的重载:即建立多个同名函数,但每个函数的参数个数或类型不同,系统根据参数个数和类型决定调用哪个函数。例如,将上面三个函数的声明改为:intmax(int,int);floatmax(float,float);doublemax(double,double);9.1C++对C的改进和扩充9.1.2函数的重载72、使用说明仅返回类型不同,5、但函数名和形参都相同,则是非法的,如:intfun(inta,intb);longfun(inta,intb);同名函数应该具有相同的功能,仅数据类型不同而已,否则可读性受破坏当重载函数有默认参数时,应避免二义性intfun(inta,b=0);intfun(inta);//error9.1C++对C的改进和扩充8【例9-4】参数类型上不同的重载函数#includeintadd(int,int);doubleadd(double,double);voidmain(){cout<6、ndl;}intadd(intx,inty){returnx+y;}doubleadd(doublex,doubley){returnx+y;}9.1C++对C的改进和扩充9【例9-5】参数个数上不同的重载函数#includeintmin(inta,intb);intmin(inta,intb,intc);voidmain(){cout<7、;returnmin(t,c);}9.1C++对C的改进和扩充109.1.3带默认参数的函数函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明(1)当有函数声明时voidpoint(intx=3,inty=4)//声明中给出默认值voidpoint(intx,inty)//定义中不允许给出默认值{cout<
3、l;}9.1C++对C的改进和扩充5用cin进行输入用cin进行输入时必须与预定义的提取符>>一起使用,输入时不用指定数据类型,也可以使用多个提取符,将键盘输入的数据送到输入流cin中,然后存到内存。#includevoidmain()/*主函数*/{inti1,i2,sum;/*变量定义*/cout<<"Entertwointegernumbers:";/*输出提示信息*/cin>>i1>>i2;/*输入数据*/sum=i1+i2;/*计算i1,i2的和*/cout<<"sum="<4、进和扩充61、重载的需要性在C中,每个函数需要唯一的名字,例如,求两个数中较大的数,对于不同类型需要不同的名字:intimax(int,int);floatfmax(float,float);doubledmax(double,double);函数的重载:即建立多个同名函数,但每个函数的参数个数或类型不同,系统根据参数个数和类型决定调用哪个函数。例如,将上面三个函数的声明改为:intmax(int,int);floatmax(float,float);doublemax(double,double);9.1C++对C的改进和扩充9.1.2函数的重载72、使用说明仅返回类型不同,5、但函数名和形参都相同,则是非法的,如:intfun(inta,intb);longfun(inta,intb);同名函数应该具有相同的功能,仅数据类型不同而已,否则可读性受破坏当重载函数有默认参数时,应避免二义性intfun(inta,b=0);intfun(inta);//error9.1C++对C的改进和扩充8【例9-4】参数类型上不同的重载函数#includeintadd(int,int);doubleadd(double,double);voidmain(){cout<6、ndl;}intadd(intx,inty){returnx+y;}doubleadd(doublex,doubley){returnx+y;}9.1C++对C的改进和扩充9【例9-5】参数个数上不同的重载函数#includeintmin(inta,intb);intmin(inta,intb,intc);voidmain(){cout<7、;returnmin(t,c);}9.1C++对C的改进和扩充109.1.3带默认参数的函数函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明(1)当有函数声明时voidpoint(intx=3,inty=4)//声明中给出默认值voidpoint(intx,inty)//定义中不允许给出默认值{cout<
4、进和扩充61、重载的需要性在C中,每个函数需要唯一的名字,例如,求两个数中较大的数,对于不同类型需要不同的名字:intimax(int,int);floatfmax(float,float);doubledmax(double,double);函数的重载:即建立多个同名函数,但每个函数的参数个数或类型不同,系统根据参数个数和类型决定调用哪个函数。例如,将上面三个函数的声明改为:intmax(int,int);floatmax(float,float);doublemax(double,double);9.1C++对C的改进和扩充9.1.2函数的重载72、使用说明仅返回类型不同,
5、但函数名和形参都相同,则是非法的,如:intfun(inta,intb);longfun(inta,intb);同名函数应该具有相同的功能,仅数据类型不同而已,否则可读性受破坏当重载函数有默认参数时,应避免二义性intfun(inta,b=0);intfun(inta);//error9.1C++对C的改进和扩充8【例9-4】参数类型上不同的重载函数#includeintadd(int,int);doubleadd(double,double);voidmain(){cout<6、ndl;}intadd(intx,inty){returnx+y;}doubleadd(doublex,doubley){returnx+y;}9.1C++对C的改进和扩充9【例9-5】参数个数上不同的重载函数#includeintmin(inta,intb);intmin(inta,intb,intc);voidmain(){cout<7、;returnmin(t,c);}9.1C++对C的改进和扩充109.1.3带默认参数的函数函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明(1)当有函数声明时voidpoint(intx=3,inty=4)//声明中给出默认值voidpoint(intx,inty)//定义中不允许给出默认值{cout<
6、ndl;}intadd(intx,inty){returnx+y;}doubleadd(doublex,doubley){returnx+y;}9.1C++对C的改进和扩充9【例9-5】参数个数上不同的重载函数#includeintmin(inta,intb);intmin(inta,intb,intc);voidmain(){cout<7、;returnmin(t,c);}9.1C++对C的改进和扩充109.1.3带默认参数的函数函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明(1)当有函数声明时voidpoint(intx=3,inty=4)//声明中给出默认值voidpoint(intx,inty)//定义中不允许给出默认值{cout<
7、;returnmin(t,c);}9.1C++对C的改进和扩充109.1.3带默认参数的函数函数定义时给一个或多个参数指定默认值,调用时,如果省略参数,自动按默认值传递。1.默认参数的声明(1)当有函数声明时voidpoint(intx=3,inty=4)//声明中给出默认值voidpoint(intx,inty)//定义中不允许给出默认值{cout<
此文档下载收益归作者所有