ch1(1) 面向对象的程序设计概述

上传人:第*** 文档编号:48810309 上传时间:2018-07-20 格式:PPT 页数:65 大小:514.50KB
返回 下载 相关 举报
ch1(1) 面向对象的程序设计概述_第1页
第1页 / 共65页
ch1(1) 面向对象的程序设计概述_第2页
第2页 / 共65页
ch1(1) 面向对象的程序设计概述_第3页
第3页 / 共65页
ch1(1) 面向对象的程序设计概述_第4页
第4页 / 共65页
ch1(1) 面向对象的程序设计概述_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《ch1(1) 面向对象的程序设计概述》由会员分享,可在线阅读,更多相关《ch1(1) 面向对象的程序设计概述(65页珍藏版)》请在金锄头文库上搜索。

1、C+/MFC 程序设计教师:张媛媛 QQ:21526681 Mobile:13853142002 E-mail:1Microsoft Visual C+l是Microsoft公司推出的开发Win32环 境程序,面向对象的可视化集成编程系 统。它不但具有程序框架自动生成、灵 活方便的类管理、代码编写和界面设计 集成交互操作、可开发多种程序等优点 ,而且通过简单的设置就可使其生成的 程序框架支持数据库接口、OLE2, WinSock网络、3D控制界面。 2第一章 绪论l 3主要内容及学习要求l1、熟悉面向对象的程序设计的思想和特 点l2、熟悉C+程序架构和程序开发过程l3、熟悉命名空间的应用l4.

2、 c+ 对 c语言的扩充4回顾:面向过程的设计方法l实例1银行系统:允许顾客使用不同类型的 银行账户(现金账户、支票账户和贷款账户),同 时允许顾客存款、取款和转账。l分析: 首先将银行系统分解成三个模块分别负责存款、取款 和转账,对应的函数分别为:MakeDeposit( )、 WithDraw( )和Transfer( )。 然后,定义数据结构: 如下页最后,编写各个函数。 5回顾:面向过程的设计方法struct account char name10; /*姓名*/unsigned long accountId; /*账号*/float balance; /*余额*/float inte

3、restY; /*年利息*/ char accountTYPE ; /*账户类型*/; 6回顾:面向过程的设计方法bool WithDraw( struct account t , float m ) /取 钱 if(t.balance=m) t.balance - = m; return true; else cout=count) blance - = count; return true; elsecout using namespace std; /以上两行可用#include 代替 #include void main() int a, b, sum, result; srand(1

4、); a=rand()%100; /生成加数 b=rand()%100; sum=a+b; coutresult; if(sum=result) /*判断对错*/ coutlvoid main()ll cout”称为提取运算符,用于输入l endl表示换行,也可以用nl必须包含#include39标准输出流coutl每一个需要输出的量之前都有一个“lvoid main()l int value =123;l cout 变量名1 变量名2 其中,“ “为提取运算符,其作用是暂停程 序的执行,等待用户从键盘输入数据,并提取 各数据赋给相应的变量。 提示:数据的分隔符可以是 空格、回车 (1)输入整

5、数和实数: #include void main() int a; float b; cinab; cout void main() char name20;coutname; cout void main() char ch1, ch2, ch3;cin.get(ch1);cin.get(ch2);cin.get(ch3);cout int main() char name20; cout void main() int a;float b;cinab; 无需写出格式控制符号 顺序、类型要一至 需要获取空格或回车时,用cin.get() 见p25例1.11492灵活的局部变量说明lC+允许在

6、代码块中的任何地方说明局部 变量,作用域:从其说明处开始到该变量所 在的最小分程序末的范围内有效。l通常认为按以下方法说明局部变量较好:l1)编写大函数时,在最靠近使用变量的位 置说明变量较为合理。l2)编写较短的函数时,把局部变量集中在 函数开始处说明较好。l例如:for(int k=0; k int abs( int x) return x0? x: -x ; double abs(double x) return x0? x: -x ; long abs( long x) return x0? x: -x ; /测试:调用以上的重载函数 void main() int x1=1; dou

7、ble x2=2.5; long x3=3L;cout b ? a : b; int max(int a,int b,int c) int t=max(a,b); return max(t,c); int max(int a,int b,int c,int d) int t1=max(a,b);int t2=max(c,d); return max(t1,t2); 原因: 编译器根据参数个数 不同调用不同的max函数59注意的问题 注意:1.重载函数必须具有不同的参数 个数或不同的参数类型。(二者同时具 备也行) 2.不能根据函数返回值的类型定义函数 的重载。606、inline函数l内联函数

8、、内嵌函数、嵌入函数 意思相同l意义:解决程序运行效率问题,l办法:把较短小的函数定义为inline.l原因:函数调用开销大:入栈、出栈、执行调用函数 内联函数:编译器看到inline,就为该函数创建一段代 码,调用inline函数时,将代码嵌入函数调用处。 优点: 1节省很多开销, 2编译器可以对它进行优化 但是,很可能会增加整个目标代码的体积61注意的问题l注意:linline只是对编译器的一个提示!不是命令 !。1.必须在调用之前声明或定义(最好先定 义)2.不能包含复杂的结构控制语句如循环、 嵌套if3.一般15行。超过一定行数就被视为普通 函数4. 递归函数不能是内联的62inlin

9、e函数与宏定义的区 别l#define通过程序文本的插入实现。l inline函数插入的是编译后的代码l优点:仍然进行参数检查l 不会产生副作用63inline函数和宏定义区别l#include /#define Max(a,b)(ab?a:b)inline int Max(int m,int n) return(mn?m:n); void main() int x=6,y=3;int k = Max(x+,y+);coutb?a:b)变成 K=(x+)(y+)?(x+):(y+)6465课堂小结与作业l主要内容 面向对象的程序设计思想是以数据为中心分析问题, 它的主要特点有:抽象性、封装性、继承性、多态性。 基本概念有:属性与行为、类与对象、消息与方法l作业:(1)课后习题2 (2)列举生活中的关于类与对象的实例,理解面向对 象的概念和特点。66

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 外语文库 > 英语学习

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