C++6.ppt
- 文档编号:2643687
- 上传时间:2022-11-04
- 格式:PPT
- 页数:31
- 大小:146.50KB
C++6.ppt
《C++6.ppt》由会员分享,可在线阅读,更多相关《C++6.ppt(31页珍藏版)》请在冰豆网上搜索。
第第66章章程序结构6.16.16.16.1多文件结构多文件结构多文件结构多文件结构6.26.26.26.2外部存储类型外部存储类型外部存储类型外部存储类型6.36.36.36.3静态存储类型静态存储类型静态存储类型静态存储类型6.46.46.46.4作用域与作用域与作用域与作用域与可见性可见性可见性可见性6.56.56.56.5头文件头文件头文件头文件6.66.66.66.6编译预处理编译预处理编译预处理编译预处理一个源程序文件由一个或多个一个源程序文件由一个或多个一个源程序文件由一个或多个一个源程序文件由一个或多个函数组成函数组成函数组成函数组成源程序文件是独立的源程序文件是独立的源程序文件是独立的源程序文件是独立的编译单位编译单位编译单位编译单位一个一个一个一个C+C+程序由一个或多个源程序文件组成,程序由一个或多个源程序文件组成,程序由一个或多个源程序文件组成,程序由一个或多个源程序文件组成,称为称为称为称为“工程文件工程文件工程文件工程文件”(.prjprj)程序是独立的程序是独立的程序是独立的程序是独立的运行单位运行单位运行单位运行单位一个源程序文件可以为多个一个源程序文件可以为多个一个源程序文件可以为多个一个源程序文件可以为多个C+C+程序公用程序公用程序公用程序公用6.16.1多文件结构多文件结构2一个简单多文件程序一个简单多文件程序一个简单多文件程序一个简单多文件程序ex6_1.ex6_1.prjprj组成组成组成组成voidfun();voidfun();main()main()fun();fun();#includeinclude.hvoidfun()voidfun()coutcout”Thisisasimpleproject.”Thisisasimpleproject.”endlendl;return;return;f_main.f_main.cppcppf_fun.f_fun.cppcpp在此是必须的在此是必须的在此是必须的在此是必须的3在在在在TC3.0TC3.0TC3.0TC3.0建立工程的方法:
建立工程的方法:
建立工程的方法:
建立工程的方法:
1.1.建立工程建立工程建立工程建立工程Project|OpenProject(Project|OpenProject(在在在在ProjectProject菜单选取菜单选取菜单选取菜单选取OpenProjectOpenProject项目项目项目项目)在在在在OpenProjectFileOpenProjectFile对话框输入工程文件名,对话框输入工程文件名,对话框输入工程文件名,对话框输入工程文件名,如如如如:
ex6_1.ex6_1.prjprj,屏幕上出现工程文件窗口屏幕上出现工程文件窗口屏幕上出现工程文件窗口屏幕上出现工程文件窗口2.2.创建创建创建创建cppcpp文件文件文件文件在工程窗口底部选择在工程窗口底部选择在工程窗口底部选择在工程窗口底部选择AddAdd命令命令命令命令,添加添加添加添加cppcpp文件,文件,文件,文件,如如如如f_main.f_main.cppcpp和和和和f_fun.f_fun.cppcpp,进入编辑环境输入程序代码进入编辑环境输入程序代码进入编辑环境输入程序代码进入编辑环境输入程序代码*3.*3.编译连接工程文件编译连接工程文件编译连接工程文件编译连接工程文件Compile|MakeCompile|Make自动连接编译,生成自动连接编译,生成自动连接编译,生成自动连接编译,生成.EXEEXE文件文件文件文件4.4.运行运行运行运行Run|RunRun|Run4在在在在TC3TC3TC3TC3.0.0.0.0打开工程的方法:
打开工程的方法:
打开工程的方法:
打开工程的方法:
Project|OpenProjectProject|OpenProject在在在在OpenProjectFileOpenProjectFile对话框的对话框的对话框的对话框的FileFile列表中文件名列表中文件名列表中文件名列表中文件名打开后的工程可以利用工程文件窗口进行编辑,打开后的工程可以利用工程文件窗口进行编辑,打开后的工程可以利用工程文件窗口进行编辑,打开后的工程可以利用工程文件窗口进行编辑,然后重新编辑连接、运行然后重新编辑连接、运行然后重新编辑连接、运行然后重新编辑连接、运行5方法:
方法:
方法:
方法:
在其中一个文件定义全局变量,不能在其它文件重定义在其中一个文件定义全局变量,不能在其它文件重定义在其中一个文件定义全局变量,不能在其它文件重定义在其中一个文件定义全局变量,不能在其它文件重定义需要共享的文件中作外部变量声明需要共享的文件中作外部变量声明需要共享的文件中作外部变量声明需要共享的文件中作外部变量声明externexternExample6_21.1.一个工程的各文件可以共享全局变量一个工程的各文件可以共享全局变量一个工程的各文件可以共享全局变量一个工程的各文件可以共享全局变量6.26.2外部存储类型外部存储类型6/AF.CPP#include#include.hvoidvoidfunbfunb();();/说明外部函数说明外部函数voidvoidfuncfunc();();intintnn;/全局变量全局变量main()main()n=3;n=3;funbfunb();();funcfunc();();coutcout”n=”n”n=”nendlendl;/BF.CPPexternexternintintnn;/说明外部变量说明外部变量voidvoidfunbfunb()()n+=n;return;n+=n;return;/CF.CPPexternexternintintnn;/说明外部变量说明外部变量voidvoidfuncfunc()()nn*=*=n;return;n;return;Example6_2Ex6_2.Ex6_2.prjprj7方法:
方法:
方法:
方法:
需要调用其它文件函数作外部函数声明需要调用其它文件函数作外部函数声明需要调用其它文件函数作外部函数声明需要调用其它文件函数作外部函数声明externexternexternextern;默认声明为默认声明为默认声明为默认声明为externexternexternextern的的的的Example6_2Example6_22.2.调用其它文件的函数调用其它文件的函数调用其它文件的函数调用其它文件的函数6.26.2外部存储类型外部存储类型8形式形式形式形式staticstatic;说明说明说明说明文件中的定义全局变量文件中的定义全局变量文件中的定义全局变量文件中的定义全局变量对其它文件无效对其它文件无效对其它文件无效对其它文件无效Example6_31.1.静态全局变量静态全局变量静态全局变量静态全局变量6.36.3静态存储类型静态存储类型9ex6_3.ex6_3.ex6_3.ex6_3.prjprjprjprjExample6_3file1.file1.cppcpp#include#include.hexternexternfnfn();();/调用外部函数调用外部函数intintn;n;/全局变量全局变量main()main()n=20;n=20;coutcout“n=”n“n=”nendlendl;fnfn();();file2.file2.cppcpp#include#include.hstaticstaticintintn;n;/静态全局变量静态全局变量voidvoidfnfn()()n+;n+;coutcout“staticn=”n“staticn=”nendlendl;return;return;10形式形式形式形式staticstatic;说明说明说明说明对函数原型冠以对函数原型冠以对函数原型冠以对函数原型冠以staticstatic修饰修饰修饰修饰该函数不能被其它文件调用该函数不能被其它文件调用该函数不能被其它文件调用该函数不能被其它文件调用Example6_42.2.静态函数静态函数静态函数静态函数6.36.3静态存储类型静态存储类型11ex6_4.ex6_4.ex6_4.ex6_4.prjprjprjprjExample6_4ex6_4_1.ex6_4_1.cppcpp#include#include.hvoidvoidfnfn();();voidmain()voidmain()fnfn();();ex6_4_2.ex6_4_2.cppcpp#include#include.hstaticvoidstaticvoidstatfnstatfn();();voidvoidfnfn();();voidvoidfnfn()()statfnstatfn();();coutcout“Thisis“Thisisfnfn()n”;()n”;return;return;voidvoidstatfnstatfn()()coutcout“Thisisstaticy)if(xy)coutcoutxxendlendl;elseelsecoutcoutyyy)if(xy)intintn=x;n=x;elseelsen=y;n=y;/error/errorvoidfn3()voidfn3()intintn;n;for(for(intinti=0;i10;i+)i=0;ib;b;if(b0)if(b0)ss:
gotogotoendend;endend:
coutcout“Allrightn”;“Allrightn”;局部量不一定具有函数作用域局部量不一定具有函数作用域局部量不一定具有函数作用域局部量不一定具有函数作用域局部量的作用域与定义位置有关局部量的作用域与定义位置有关局部量的作用域与定义位置有关局部量的作用域与定义位置有关注注注注意意意意163.3.函数原型作用域函数原型作用域函数原型作用域函数原型作用域函数原型声明的参数作用域仅在圆括号内函数原型声明的参数作用域仅在圆括号内函数原型声明的参数作用域仅在圆括号内函数原型声明的参数作用域仅在圆括号内voidarea(doublewidth,doublelength)voidarea(doublewidth,doublelength)等价于:
等价于:
等价于:
等价于:
voidarea(double,length)voidarea(double,length)例:
例:
例:
例:
174.4.文件作用域文件作用域文件作用域文件作用域在所有函数之外定义的标识符,作用域为从说明点开始至文件结束在所有函数之外定义的标识符,作用域为从说明点开始至文件结束在所有函数之外定义的标识符,作用域为从说明点开始至文件结束在所有函数之外定义的标识符,作用域为从说明点开始至文件结束若源文件嵌入头文件,则头文件的标识符作用域延伸至源文件若源文件嵌入头文件,则头文件的标识符作用域延伸至源文件若源文件嵌入头文件,则头文件的标识符作用域延伸至源文件若源文件嵌入头文件,则头文件的标识符作用域延伸至源文件18标识符在作用域内可见标识符在作用域内可见标识符在作用域内可见标识符在作用域内可见嵌套作用域嵌套作用域嵌套作用域嵌套作用域若有同名标识符,以屏蔽外层标识符原则可见若有同名标识符,以屏蔽外层标识符原则可见若有同名标识符,以屏蔽外层标识符原则可见若有同名标识符,以屏蔽外层标识符原则可见可见性可见性可见性可见性19C+C+在在在在软件系统组织上,从程序到文件都有极大灵活性软件系统组织上,从程序到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+
![提示](https://static.bdocx.com/images/bang_tan.gif)