清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构

C++语言程序设计 第五章C+程序的结构
1 第五章 C++程序的结构 C++语言程序设计

C++语言程序设计 本章主要内容 ●作用域与可见性 ●对象的生存期 ●数据与函数 ●静态成员 ●友元 共享数据的保护 编译预处理命令 ●多文件结构和工程 x
C++语言程序设计 2 本章主要内容 ⚫ 作用域与可见性 ⚫ 对象的生存期 ⚫ 数据与函数 ⚫ 静态成员 ⚫ 友元 ⚫ 共享数据的保护 ⚫ 编译预处理命令 ⚫ 多文件结构和工程

C++语言程序设计 作用域 作用域与可见 作用域是一个标识符在程序正文中有 效的区域。作用域开始于标识符的声 明处。C++中标识符的作用域有 函数原型作用域 块作用域 性 类作用域 文件作用域 x
C++语言程序设计 3 作用域 作用域是一个标识符在程序正文中有 效的区域。作用域开始于标识符的声 明处。C++中标识符的作用域有: 函数原型作用域 块作用域 类作用域 文件作用域 作 用 域 与 可 见 性

C++语言程序设计 函教原型的作用域 作 用。函数原型中的参数,其作用域始于 域"(",结束于")" 与。例如,设有下列原型声明: double Area(double radius) 性 radius的作用域仅在于此, 不能用于程序正文其它地 方,因而可有可无
C++语言程序设计 4 函数原型的作用域 ⚫ 函数原型中的参数,其作用域始于 "(",结束于")"。 ⚫ 例如,设有下列原型声明: double Area(double radius); radius 的作用域仅在于此, 不能用于程序正文其它地 方,因而可有可无。 作 用 域 与 可 见 性

C++语言程序设计 块作用域 作 用在块中声明的标识符,其作用域自声明处 起,限于块中,例如: 域 void fun (int a) 与可见 int b(a)i cin>>bi if (b>0) b的作用域 性 int c的作用域 x
C++语言程序设计 5 块作用域 在块中声明的标识符,其作用域自声明处 起,限于块中,例如: void fun(int a) { int b(a); cin>>b; if (b>0) { int c; ...... } } c的作用域 b的作用域 作 用 域 与 可 见 性

C++语言程序设计 类作用域 作 用·类的成员的作用域是类作用域,在类外 域部只有通过对象名和成员访问符“”来访 与问类的公有成员。在类外不能访问类的 见私有成员。 性·类的成员函数可以直接访问类的数据成 员 x
C++语言程序设计 6 类作用域 ⚫ 类的成员的作用域是类作用域,在类外 部只有通过对象名和成员访问符“ . ”来访 问类的公有成员。在类外不能访问类的 私有成员 。 ⚫ 类的成员函数可以直接访问类的数据成 员。 作 用 域 与 可 见 性

C++语言程序设计 文件作用域 作 用不在前述各个作用域中出现的声明, 域具有文件作用域,这样声明的标识符 与的作用域开始于声明点,结束于文件 尾 性 x
C++语言程序设计 7 文件作用域 不在前述各个作用域中出现的声明, 具有文件作用域,这样声明的标识符 的作用域开始于声明点,结束于文件 尾。 作 用 域 与 可 见 性

C++语言程序设计 可见性 作。可见性是从对标识符的引用的角度来谈 用标识符的有效性。 域 与°可见性表示从内层作用域向外层作用域 “看”时能看见什么 见●如果标识在某处可见,则就可以在该处 性引用此标识符。 文件作用域 类作用域 块作用域 ,*x
C++语言程序设计 8 可见性 ⚫ 可见性是从对标识符的引用的角度来谈 标识符的有效性。 ⚫ 可见性表示从内层作用域向外层作用域 “看”时能看见什么。 ⚫ 如果标识在某处可见,则就可以在该处 引用此标识符。 块作用域 类作用域 文件作用域 作 用 域 与 可 见 性

C++语言程序设计 可见性 作 用。标识符应声明在先,引用在后。 域。如果某个标识符在外层中声明,且在内层中 与没有同一标识符的声明,则该标识符在内层 可可见 见。对于两个嵌套的作用域,如果在内层作用域 性生内声明了与外层作用域中同名的标识符,则 外层作用域的标识符在内层不可见
C++语言程序设计 9 可见性 ⚫ 标识符应声明在先,引用在后。 ⚫ 如果某个标识符在外层中声明,且在内层中 没有同一标识符的声明,则该标识符在内层 可见。 ⚫ 对于两个嵌套的作用域,如果在内层作用域 内声明了与外层作用域中同名的标识符,则 外层作用域的标识符在内层不可见。 作 用 域 与 可 见 性

C++语言程序设计 例5-1 作用 include using namespace std; 域int;∥文件作用域 int main( 与可见 {i=5; int;∥块作用域 =7 cout<<"i="<<<<end;∥输出7 性 cou<"i="<<i;∥输出5 return 0 x
C++语言程序设计 10 #include using namespace std; int i; //文件作用域 int main() { i=5; { int i; //块作用域 i=7; cout<<"i="<<i<<endl; //输出 7 } cout<<"i="<<i; //输出 5 return 0; } 作用域与可见性 例 5 - 1
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- The MIT Press:How to Design Programs——An Introduction to Computing and Programming.pdf
- 《计算机基础——系统安全》课程教学资源(PPT课件)第8章 安全协议.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第7章 认证 Authentication.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第10章 信息系统安全等级与标准.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第2篇 信息系统安全信任体系 第6章 数据加密与数据隐藏修改.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第2章 黑客.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第1章 病毒及其防治.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第3篇 信息系统安全体系结构与评估标准 第9章 信息系统安全体系结构.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第5章 信息系统安全事件响应.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第4章 信息系统安全监控.ppt
- 《计算机基础——系统安全》课程教学资源(PPT课件)第3章 信息系统隔离技术.ppt
- 泰州职业技术学院计算机信息管理(成人高职)专业教学计划.doc
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第9章 MATLAB符号计算.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第8章 MATLAB数值积分与微分.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第7章 MATLAB解方程与函数极值.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第6章 MATLAB数据分析与多项式计算.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第5章 MATLAB绘图.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第4章 MATLAB文件操作.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第3章 MATLAB程序设计.ppt
- 《MATLAB程序设计》课程电子教案(PPT课件讲稿)第2章 MATLAB矩阵及其运算.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组、指针与字符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)课程简介(李莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第一章 绪论(主讲:贾永红).pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第二章 基本概念.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第三章 图像变换.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第四章 图像增强.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第五章 图像复原与重建.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第六章 图像编码与压缩.pps
- 武汉大学遥感信息工程学院:《数字图像处理》课程教学资源(PPT课件讲稿)第七章 图像分割.pps
- 计算机基础知识(PPT讲稿).ppt