- 1
- 0
- 约2.48千字
- 约 24页
- 2019-01-19 发布于福建
- 举报
第5章数据垫的共享与保护
C++语言程序设计 第5章 数据的共享与保护 作用域 函数原型作用域:指在在函数原型声明时形式参数的作用范围 局部作用域:从声明处开始到声明所在块结束的大括号位置 类作用域: 作用域 命名空间作用域:在一个命名空间内有效,通常称这些变量为全局变量 语法:namespace 空间名{….} using 空间名::标识符;表示在当前作用域中可以直接引用该标识符 作用域 Using namespace 空间名;表示在当前作用域中可以直接引用该命名空间的任意标识符 例5-1,p149 可见性 可见性,即可引用性。程序运行到某一点能够引用到的标识符,就是该处可见的标识符 图5-1,p150 静态生存期 如果对象的生存期与程序的运行期相同,则称它具有静态生存期 命名空间中的对象均具有静态生存期 局部变量也可,例如 static int x = 10; 动态生存期 动态生存期是在局部作用域中声明的对象 局部生存期对象诞生于声明点,结束于声明所在的块执行完毕 例5-2,p151 静态数据成员 类的静态数据成员是描述类的所有对象共同特征的一个数据项,对于任何对象实例,它的属性值是相同的 采用static关键字来声明静态成员 静态数据成员具有静态生存期,例5-4 静态函数成员 静态成员函数是使用static关键字生命的函数成员 静态成员函数可以直接访问该类的静态数据和函数成员。而访问非静态成员,必须通过对象名。例如p157,例5-5,p157 友元关系 友元关系提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制 在一个类中,通过friend将其他函数或类声明为友元 友元类 通过friend修饰的类 若A类为B类的友元类则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员 例如p162 友元函数 友元函数是在类中用关键字friend修饰的非成员函数 友元函数可以通过对象名访问类的私有和保护成员 例5-6,p160 常对象 常对象是指其数据成员值在对象的整个生存期间不能被改变 语法:const 类型说明符 对象名; 常对象必须进行初始化,而且不能被更新 用const修饰的类成员 常成员函数:用const修饰的函数 语法:类型说明符 函数名(参数表) const 例5-7,p165 用const修饰的类成员 常数据成员:用const修饰的数据成员 例5-8 常引用 常引用:用const修饰的引用 语法:const 类型说明符 引用名; 例5-9,p167 C++程序的一般组织结构 一个项目至少包括3个文件:类定义文件(.h)、类实现文件(.cpp)和类使用文件(.cpp) 例5-10,p168 C++多文件组织结构图,图5-8,p169 外部变量与外部函数 外部变量:如果一个变量除了在定义它的源文件中可以使用外,还能在其他文件中使用 命名空间定义的变量都是外部变量 外部变量引用通过extern加以声明,例如p170 外部变量与外部函数 外部函数:在所有类之外声明的函数,它具有命名空间的作用域 将变量和函数限制在编译单元内:在你名命名空间中定义的变量和函数都不会暴露给其它编译单元:namespace{ int n; void f(){n++} } 标准C++库 标准C++库分为6种类型:输入输出类,容器类与ADT(抽象数据类型),存储管理类,算法,错误处理,运行环境支持 编译预处理 #include指令:将文件嵌入到当前位置 #define和#undef指令:预定义 条件编译指令:形式一到形式五,参见p175 define操作符:例如p175 常成员函数的声明原则 凡是会改变费静态成员对象值的成员函数都不能声明为常成员函数 通过mutable关键字修饰的数据成员可以被常成员函数修改 例如p181 代码的编译连接与执行过程 编译:经过编译系统的处理生成目标文件的过程 目标文件分为代码段和数据段 连接:将目标文件和运行库中被调用的单元加以合并 执行:程序的一次动态执行过程称为一个进程 * * 普通高等教育“十一五”国家级规划教材 国家精品课教材 尹云飞 博士 硕导 yinyunfei@cqu.edu.cn 作用域与可见性 对象的生存期 数据与函数 静态成员 共享数据的保护 友元 编译预处理命令 多文件结构和工程 深度探索 标识符的作用域与可见性 类作用域有3种: 如果在类的成员函数中没有声明同名的形参,则可以访问到类的局部变量 通过类名.成员变量或类名::成员变量可以访问成员变量,其中类名::成员变量只用于访问静态成员 通过ptr-成员变量也可以访问类的成员变量 标识符的作用域与可见性 标识符的作用域与可见性 标识符的作用域与可见性 可见性规则: 标识符应声明在先,引用在后。 如果某个标识符在外层
您可能关注的文档
最近下载
- SL677-2014 水工混凝土施工规范.docx VIP
- 2024-2034年中国医疗人工智能行业投资潜力分析及行业发展趋势报告.docx
- 平顶山工业职业技术学院《高等数学(D)》2025 - 2026学年第一学期期末试卷.docx VIP
- 110kV变电站专项电气试验及调试方案.doc VIP
- 对外汉语考试试题及答案.docx VIP
- COUPLER微血管吻合器课件.pptx VIP
- GB 7594.1-1987 电线电缆橡皮绝缘和橡皮护套 第1部分一般规定-国家标准.pdf VIP
- 110kV送变电工程启动调试与试运行操作指南及案例解析.docx VIP
- 心衰合并肾功能不全的护理难点与解决方案.pptx VIP
- 关于2024年度民主生活会整改措施落实情况及2025年深入贯彻中央八项规定精神学习教育查摆问题整改情况的通报.docx VIP
原创力文档

文档评论(0)