第五部分 作用域、静态变量、友元、多文件操作
来源:互联网 发布:c语言百度云资源 编辑:程序博客网 时间:2024/05/16 04:39
作用域:是标识符的有效范围;
可见性:标识符是否可以引用的问题; 就是在这个地方能不能用
作用域
1、 函数原型的作用域
函数原型中的参数,其作用域始于"(",结束于 ")"。
例如:设有下列原型声明:
double fun(double a); //a可有可无
2、块作用域
块是一对花括号括起来的一段程序单元。
在块中声明的标识符,其作用域从声明处开始,直到块结束的右花括号。
例如:
void fun(int a){ int b(a); cin>>b; ……}
3、类作用域
可以将类看成是一组有名成员的集合,除个别例外情况外,类作用域用于特定的成员名
,类及其对象有特殊的访问和作用域规则。
4、文件作用域
int i =5; //文件作用域int main(){cout<<i<<endl;return 0;}
生存期
静态生存期 (存在栈区)
在文件作用域中声明的对象具有这种生存期。
在函数内部声明静态生存期对象,要冠以关键字static。
动态生存期
开始于程序执行到声明点时,结束于命名该标识符的作用域结束处。
全局变量
静态成员
使用类中的静态数据成员-解决访问权限控制问题
统计一个班参加考试的人数,每一位都有一个考号,姓名,
可以在数据成员中定义一个static 用于统计参加考试人数
使用静态成员函数-解决操作合法性控制问题。
静态成员函数 类名::函数()或对象名来调用静态成员函数
类外代码可以使用类名和作用域操作符来调用静态成员函数
静态成员函数属于整个类的
友元
想访问私有数据成员,但又不想每次都调用公有成员函数。
所有定义一个友元函数,可以访问私有数据成员
友元是C++提供的一种破坏数据封装和数据隐藏的机制。
1.在类中声明一个函数为这个类的友元,这样在类外就可以通过对象来访问私有数据成员,
而不需要通过公有成员函数访问。
2.class B想对 class A的私有数据成员进行访问,就可以在class A声明 class B为class A的友元
class A
{
friend class B;
……
}
class B
{}
可以使用友元函数和友元类。
为了确保数据的完整性,及数据封装与隐藏的机制,应少用。
共享数据的保护
常类型
常类型的对象必须进行初始化,而且不能被更新。
常引用: const 类型说明符 &引用名
常对象: 类名 const 对象名
编译预处理命令
多文件结构和工程
- 第五部分 作用域、静态变量、友元、多文件操作
- 第五章 函数 ---变量的作用域----静态局部变量
- 第五章 函数 ---变量的作用域
- Day41、静态成员变量、静态成员函数、单例模式、成员/成员函数指针、操作符重载、友元函数
- VBA处理文件框架代码 【第五部分:Excel文件操作】
- Page类中的静态变量作用域
- 变量作用域问题2(部分变量未声明)
- static作用:静态变量的生存周期和作用域
- static作用:静态变量的生存周期和作用域
- static作用:静态变量的生存周期和作用域
- static作用:静态变量的生存周期和作用域
- python基础之元组、文件操作、编码、函数、变量
- 局部变量,全局变量,静态变量的作用域,生命期?
- PHP变量的声明及其作用域&静态变量
- 友元函数与静态成员变量的实例
- c++中全局变量,全局静态变量,局部静态变量,局部变量的作用域和生命周期
- java变量作用域、操作符
- 作用域 全局变量 局部变量 静态变量 外部变量 常量 volatile变量
- 右滑动返回
- tkowalczyk/KinectTiltCamera
- 由js中一句return false引发出来的许多事
- java常用内存区域与代码块
- windows下捕获dump
- 第五部分 作用域、静态变量、友元、多文件操作
- HTML5基础,第4部分:点睛之笔Canvas (2)
- validatebox fixed版 解决validatebox初始化验证
- SQLite学习手册(索引和数据分析/清理)
- PADS 9.2使用过程中的问题及解决方案(均通过验证)
- SVN 版本库同步 从目标版本库获得锁失败
- 运算放大器参数说明及选型指南(本文来源于网络,经整理转载于此)
- 晶振匹配电容失配的影响
- 关于傅立叶变换的频率分辨率,采样时间,采样率关系