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