面向对象程序设计6程序结构.ppt
《面向对象程序设计6程序结构.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计6程序结构.ppt(24页珍藏版)》请在第壹文秘上搜索。
1、第六章第六章 程序结构程序结构面向对象程序设计面向对象程序设计程序结构:程序结构:一个一个C+程序是由一个或多个包含若干函数定程序是由一个或多个包含若干函数定义的源文件组成。义的源文件组成。只有一个源文件具有主函数只有一个源文件具有主函数main()学习目标:学习目标:1. 初步理解初步理解+程序的结构程序的结构2. 掌握多文件之间如何进行掌握多文件之间如何进行“沟通沟通”2面向对象程序设计主要主要内容内容v1外部存储类型外部存储类型v2 静态存储类型静态存储类型v3 作用域、生命期、可见性作用域、生命期、可见性v4 头文件头文件v5 多文件结构多文件结构v6 编译编译预处理预处理3面向对象程
2、序设计1外部存储类型外部存储类型v多个源文件间通过声明外部存储类型来进行沟通多个源文件间通过声明外部存储类型来进行沟通v声明外部存储类型(声明外部存储类型(extern)如:如:extern int n; extern void fn1(); /extern可省略可省略v默认的函数声明或定义是默认的函数声明或定义是extern的的v声明一般放在源文件开始位置声明一般放在源文件开始位置v带带extern的外部变量声明,的外部变量声明,是声明,不是变是声明,不是变量定义。量定义。4面向对象程序设计外部存储类型的使用外部存储类型的使用/a.cpp源文件源文件#include using namesp
3、ace std;int fun(); /在在b.cpp中定义的中定义的extern int n; /n在在b.cpp中定义中定义int main() coutnendl;n=20;coutfun()endl;5面向对象程序设计/b.cpp源文件源文件int n=6;int fun()n+;return n;2 静态存储类型静态存储类型静态存储类型(静态存储类型(static)如:如:static int n; static void fun();v静态全局变量、静态函数:静态全局变量、静态函数:仅在其定义的源仅在其定义的源文件中可用,对于程序中其它源文件是无效文件中可用,对于程序中其它源文件是
4、无效的。的。v静态局部变量:静态局部变量:在屡次调用的同一个函数中在屡次调用的同一个函数中共享的数据共享的数据6面向对象程序设计静态全局变量、静态函数静态全局变量、静态函数/a.cpp源文件源文件#include using namespace std;void fun(); /在在b.cpp中定义的中定义的static int n; /仅在本源文件中使用仅在本源文件中使用int main() n=20;coutnendl;fun();7面向对象程序设计/b.cpp源文件源文件int n=6;void fun()coutn;coutendl;3 作用域、生命期、可见性作用域、生命期、可见性:标
5、识符在程序中有效的范围。:标识符在程序中有效的范围。:标识符在某位置可见,即指它可被引用:标识符在某位置可见,即指它可被引用:实体存在的时间。:实体存在的时间。v全局变量、全局变量、局部变量、静态局部变量局部变量、静态局部变量v静态局部变量驻留在全局数据区。静态局部变量驻留在全局数据区。从可见性来说,它与局部变量一致;从可见性来说,它与局部变量一致;从生命期来说,它与全局变量一致;从生命期来说,它与全局变量一致;v当全局变量与局部变量当全局变量与局部变量同名同名时,全局变量不可见时,全局变量不可见8面向对象程序设计局部变量、静态局部变量、全局变量局部变量、静态局部变量、全局变量int a=2;
6、void fn()int x=1;/int a=3;static int y=0;x+=a;y+=a;coutx yendl;int main()for(int i=0;i10;+i) fn();9面向对象程序设计处于生命期中的实体总是能被安全访问到,即使违处于生命期中的实体总是能被安全访问到,即使违背模块的黑盒准则背模块的黑盒准则int* f() static int a=1; /静态局部变量静态局部变量 a+; return &a;int main() int* pa = f(); *pa = 8; /ok,但偷越到了函数但偷越到了函数f的局部区的局部区 cout*pa“n”;/运行结果运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 程序结构
