广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构

C++语言程序设计 第五章C++程序的结构 广东金融学院 ★米 计算机科学与技术系软件教研室
1 第五章 C++程序的结构 C++语言程序设计 广东金融学院 计算机科学与技术系 软件教研室

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

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

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

C++语言程序设计 清华大学郑莉 类作用域 作用域与可见性 类作用域作用于特定的成员名。 类X的成员M具有类作用域,对M的访问方 式如下: 如果在X的成员函数中没有声明同名的局部作用 域标识符,那么在该函数内可以访问成员M。 -通过表达式x.M或者X:M访问。 -通过表达式prt->M
C++语言程序设计 清华大学 郑莉 5 类作用域 ⚫ 类作用域作用于特定的成员名。 ⚫ 类X的成员M具有类作用域,对M的访问方 式如下: – 如果在X的成员函数中没有声明同名的局部作用 域标识符,那么在该函数内可以访问成员M。 – 通过表达式x.M或者X::M访问。 – 通过表达式prt->M 作 用 域 与 可 见 性

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

C++语言程序设计 清华大学郑莉 可见性 可见性是从对标识符的引用的角度来谈 作用域与可见性 的概念 可见性表示从内层作用域向外层作用域 “看”时能看见什么。 如果标识在某处可见,则就可以在该处 引用此标识符 文件作用域 类作用域 块作用域
C++语言程序设计 清华大学 郑莉 7 可见性 ⚫ 可见性是从对标识符的引用的角度来谈 的概念 ⚫ 可见性表示从内层作用域向外层作用域 “看”时能看见什么。 ⚫ 如果标识在某处可见,则就可以在该处 引用此标识符。 块作用域 类作用域 文件作用域 作 用 域 与 可 见 性

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

C++语言程序设计 清华大学郑莉 同一作用域中的同名标识符 作用域与可见性 ● 在同一作用域内的对象名、函数名、 枚举常量名会隐藏同名的类名或枚举 类型名。 重载的函数可以有相同的函数名
C++语言程序设计 清华大学 郑莉 9 同一作用域中的同名标识符 ⚫ 在同一作用域内的对象名、函数名、 枚举常量名会隐藏同名的类名或枚举 类型名。 ⚫ 重载的函数可以有相同的函数名。 作 用 域 与 可 见 性

C++语言程序设计 清华大学郑莉 例5.1 作 #include using namespace std; inti;l文件作用域 与 int main() {i=5: 可见性 {inti,/块作用域 i=7; cout<<"i="<<i<end业;/输出7 cout<<"j="<<i; 1/输出5 return 0; ★并 10
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每日次数-->可用次数-->下载券;
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学出版社:《Visual.C++面向对象与可视化程序设计》书籍教材PDF电子版(第2版,编著:黄维通).pdf
- 中国水利水电出版社:《C++实用培训教程》书籍PDF电子版(共十章,编著:李国权).pdf
- 《C++语言程序设计》课程参考文献:《面向对象的C++》书籍PDF电子版.pdf
- 《C++语言程序设计》课程教学资源(学习资料)Visual C++MFC简明教程.doc
- 齐齐哈尔大学:《C++语言程序设计》课程授课教案(讲义).pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学大纲 C++ Programming.pdf
- GoldWave教程.doc
- 《多媒体技术》课程教学大纲 Multimedia Technique.docx
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第13章 Visual Basic多媒体程序设计.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第12章 Visual Basic高级界面设计.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第11章 数据库技术.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第10章 文件.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第9章 菜单、对话框及多重窗体.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第8章 过程.ppt
- 十一五国家级规划教材:《Visual Basic程序设计教程》教学资源(PPT课件,第4版)第7章 数组.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组、指针与字符串.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入输出.ppt
- 广东金融学院:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第1章 C++程序设计概述.pptx
- 《C++语言程序设计》课程教学资源(学习指导)第1章 C++语言概述.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.1 数据类型、常量、变量.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.1 数据类型、常量、变量.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.2 算术、关系、逻辑运算符.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第2章 数据类型运算符表达式 2.3 其他运算符.ppt
- 《C++语言程序设计》课程教学资源(学习指导)第2章 数据类型运算符表达式 2.3 其他运算符与表达式.pdf
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.1 顺序结构.ppt
- 齐齐哈尔大学:《C++语言程序设计》课程教学课件(PPT讲稿)第3章 控制流程 3.2 分支结构.ppt
- 齐齐哈尔大学:《C语言程序设计》课程授课教案(64学时).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(物理学).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(教育技术).pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学大纲 The C Programming Language(土木工程).pdf