清华大学:《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每日次数-->可用次数-->下载券;
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第九章 文件.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第八章 排序.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第七章 查找.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第六章 图.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第五章 树和二叉树.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第四章 串和数组.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第三章 栈和队列.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第二章 线性表.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第一章 数据结构基础概论.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第9章 数组.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第8章 函数.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第7章 循环结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第6章 选择结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第5章 顺序结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第4章 数据类型及表达式.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第3章 C语言概述.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第2章 程序设计基础知识.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第15章 编译预处理.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第13章 中断和位运算.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第12章 文件.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
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第九章 查找.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第六章 树和二叉树.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第十章 排序.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第四章 字符串(String).ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第一章 绪论(李晓红).ppt
- 人民邮电出版社:网页及HTML语言.ppt