欢迎来到天天文库
浏览记录
ID:59412872
大小:97.50 KB
页数:36页
时间:2020-09-19
《[计算机软件及应用]C++程序设计教程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章程序结构Chapter7ProgramStructure17:44:581程序结构:使程序得以运行的框架组织便是程序结构,对程序结构的研究,是为了更好地表达算法思想,使其符合编译逻辑,又具有更好的可读性和可维护性学习目标:1.从简单的函数层层调用,初步理解C++程序结构2.学习合理组织程序的规则与经验,掌握扩展程序规模的基本方法17:44:582第七章内容函数组织(FunctionOrganization)头文件(HeaderFiles)全局数据(GlobalData)静态数据(StaticData)作用域与生命期(Scope&Lifetime)名空间(namesp
2、ace)预编译(Pre-Compilation)17:44:5831.函数组织(FunctionOrganization)函数:对输入参数负责,埋头做自己的事,最终返回结果函数组织:通过在函数中进行函数调用来扩展运行的规模,层层叠叠的函数构成树结构做法:将若干个函数组织成文件,又将若干个文件构成程序的办法来进行编程分工17:44:584对如下的函数调用关系,进行文件划分mainf2f1f3g1g2hp文件1文件2文件317:44:5852.头文件(HeaderFiles)原始头文件:作为共同开发的项目,为了共享彼此的过程资源(函数),将全体函数声明放在一个共用的头文件中界
3、面头文件:界定模块可用资源(函数,数据,类型等)(可由一个或几个头文件组合,其实现由他人提供),或提供他人使用的模块资源.它是由软件工程师分发的、以规范项目开发为目的的资源文件做法:练习划分函数组,模仿学习构造头文件,并注意头文件的应含内容17:44:586//abc.hvoidf1();voidf2();voidf3();voidg1();voidg2();voidp();voidh();原始头文件(包含Page5的图中的一切函数声明)17:44:587头文件的使用:使函数调用免于声明//a1.cpp#include”abc.h”voidf1(){if(…){p();g
4、1();else{g2();h();}}17:44:588头文件的使用:使函数调用免于声明//a2.cpp#include”abc.h”intmain(){f1();f2();f3();}//-------voidf3(){f1();}//-------voidp(){f3();}//-------17:44:589头文件的使用:使函数调用免于声明//a3.cpp#include”abc.h”voidh(){…}voidf2(){g1();g2();}//-------voidg1(){…}voidg2(){…}17:44:5810界面头文件//a1.ha1.cpp提供的
5、资源voidf1();//a2.ha2.cpp提供的资源voidp();//a3.ha3.cpp提供的资源voidg1();voidg2();voidf2();voidh();17:44:5811//a1.cpp#include”a2.h”#include”a3.h”voidf1(){if(…){p();g1();}else{g2();h();}}使用界面头文件17:44:5812//a2.cpp#include”a1.h”#include”a3.h”staticvoidf3();intmain(){f1();f2();f3();}voidf3(){f1();}voidp
6、(){f3();}使用界面头文件17:44:5813//a3.cpp#include”a3.h”voidh(){…}voidf2(){g1();g2();}voidg1(){…}voidg2(){…}使用界面头文件17:44:5814头文件的嵌套引用//a1.ha1.cpp提供的资源voidf1();//a2.ha2.cpp提供的资源#includevoidp();//a3.ha1.cpp提供的资源#include//第1次包含a1.h#include//第2次包含a1.h17:44:5815如何避免头文件嵌套引用#ifndef__A3
7、_H__#define__A3_H__//a3.ha1.cpp提供的资源#include//第1次包含a1.h#include//这里不会再次包含a1.h#endif//__A2_H__//a1.ha1.cpp提供的资源#ifndef__A1_H__#define__A1_H__voidf1();#endif//__A1_H__//a2.ha2.cpp提供的资源#ifndef__A2_H__#define__A2_H__#includevoidp();#endif//__A2_H__17:4
此文档下载收益归作者所有