欢迎来到天天文库
浏览记录
ID:40645242
大小:294.26 KB
页数:67页
时间:2019-08-05
《清华大学C课程课件第5讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章C++程序的结构清华大学C++语言程序设计1本章主要内容作用域与可见性对象的生存期数据与函数静态成员友元共享数据的保护编译预处理命令多文件结构和工程2作用域作用域是一个标识符在程序正文中有效的区域。作用域开始于标识符的声明处。C++中标识符的作用域有:函数原型作用域块作用域类作用域文件作用域作用域与可见性3函数原型的作用域函数原型中的参数,其作用域始于"(",结束于")"。例如,设有下列原型声明:doubleArea(doubleradius);radius的作用域仅在于此,不能用于程序正文其它地方,因而可有可无。作用域与可见性4块
2、作用域在块中声明的标识符,其作用域自声明处起,限于块中,例如:voidfun(inta){intb(a);cin>>b;if(b>0){intc;......}}c的作用域b的作用域作用域与可见性5类作用域类的成员的作用域是类作用域,在类外部只有通过对象名和成员访问符“.”来访问类的公有成员。在类外不能访问类的私有成员。类的成员函数可以直接访问类的数据成员。作用域与可见性6文件作用域不在前述各个作用域中出现的声明,具有文件作用域,这样声明的标识符的作用域开始于声明点,结束于文件尾。作用域与可见性7可见性可见性是从对标识符的引用的角度来谈标
3、识符的有效性。可见性表示从内层作用域向外层作用域“看”时能看见什么。如果标识在某处可见,则就可以在该处引用此标识符。块作用域类作用域文件作用域作用域与可见性8可见性标识符应声明在先,引用在后。如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。作用域与可见性9#includeusingnamespacestd;inti;//文件作用域intmain(){i=5;{inti;//块作用
4、域i=7;cout<<"i="<
5、usingnamespacestd;inti=5;//文件作用域intmain(){cout<<"i="<usingnamespacestd;voidfun();intmain(){fun();fun();}voidfun(){statici
6、nta=1;inti=5;a++;i++;radius的作用域仅在于此,不能用于程序正文其它地方,因而可有可无cout<<"i="<usingnamespaces
7、td;intAverage(inti){//声明静态局部变量,具有全局寿命,局部可见staticintsum=0,count=0;sum=sum+i;count++;returnsum/count;}intmain(){intnum,avg;//局部变量,具有动态生存期cout<<"Enternumbers(-1toquit):";do{cin>>num;if(num!=-1)avg=Average(num);}while(num>-1);cout<<"averageis:"<8、动态生存期对象的时钟程序#includeusingnamespacestd;classClock//时钟类声明{public://外部接口Clock();voidSetTi
8、动态生存期对象的时钟程序#includeusingnamespacestd;classClock//时钟类声明{public://外部接口Clock();voidSetTi
此文档下载收益归作者所有