欢迎来到天天文库
浏览记录
ID:49384587
大小:150.50 KB
页数:51页
时间:2020-02-04
《作用域—可见性—生存期.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本章主要内容作用域与可见性对象的生存期数据与函数静态成员共享数据的保护友元编译预处理命令多文件结构和工程1函数原形的作用域函数原型中的参数,其作用域始于"(",结束于")"。例如,设有下列原型声明:doubleArea(doubleradius);radius的作用域仅在于此,不能用于程序正文其它地方,因而可有可无。作用域与可见性2块作用域在块中声明的标识符,其作用域自声明处起,限于块中,例如:voidfun(inta){intb(a);cin>>b;if(b>0){intc;......}}c的作用域b的作用域作用域与可
2、见性3类和文件作用域类作用域作用于特定的成员名,类及其对象有特殊的访问和作用域规则。不在前述各个作用域中出现的声明,具有文件作用域,这样声明的标识符的作用域开始于声明点,结束于文件尾。作用域与可见性4可见性可见性是从对标识符的引用的角度来谈的概念可见性表示从内层作用域向外层作用域“看”时能看见什么。如果标识在某处可见,则就可以在该处引用此标识符。块作用域类作用域文件作用域作用域与可见性5可见性标识符应声明在先,引用在后。在同一作用域中,不能声明同名的标识符。如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标
3、识符在内层可见。对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。作用域与可见性6#includeinti;//文件作用域intmain(){i=5;{inti;//块作用域i=7;cout<<"i="<4、的运行期相同。在文件作用域中声明的对象具有这种生存期。在函数内部声明静态生存期对象,要冠以关键字static。对象的生存期9#includeinti=5;//文件作用域intmain(){cout<<"i="<voidfun();voidmai5、n(){fun();fun();}voidfun(){staticinta=1;inti=5;a++;i++;cout<<"i="<inti=1;//i为全局变量,具有静态生存期。voidmain(void){staticinta;//静态局部变量,有全局寿命,局部可见。intb=-10;//b,c为局部变量,具有动态生存期。intc6、=0;voidother(void);cout<<"---MAIN---";cout<<"i:"<7、进入函数时被初始化。intc=10;//C为局部变量,具有动态生存期,//每次进入函数时都初始化。a=a+2;i=i+32;c=c+5;cout<<"---OTHER---";cout<<"i:"<8、对象的时钟程序#includeclassClock//时钟类声明{public://外部接口Clock();voidSetTime(intNewH,intNewM,intNewS);//三个形参均具有函数原型作用域voidShowTime();~Clock(){}private:
4、的运行期相同。在文件作用域中声明的对象具有这种生存期。在函数内部声明静态生存期对象,要冠以关键字static。对象的生存期9#includeinti=5;//文件作用域intmain(){cout<<"i="<voidfun();voidmai
5、n(){fun();fun();}voidfun(){staticinta=1;inti=5;a++;i++;cout<<"i="<inti=1;//i为全局变量,具有静态生存期。voidmain(void){staticinta;//静态局部变量,有全局寿命,局部可见。intb=-10;//b,c为局部变量,具有动态生存期。intc
6、=0;voidother(void);cout<<"---MAIN---";cout<<"i:"<
7、进入函数时被初始化。intc=10;//C为局部变量,具有动态生存期,//每次进入函数时都初始化。a=a+2;i=i+32;c=c+5;cout<<"---OTHER---";cout<<"i:"<
8、对象的时钟程序#includeclassClock//时钟类声明{public://外部接口Clock();voidSetTime(intNewH,intNewM,intNewS);//三个形参均具有函数原型作用域voidShowTime();~Clock(){}private:
此文档下载收益归作者所有