C++语言程序设计——数据的共享与保护05

一,标识符的作用域与可见性

1:作用域讨论的是标识符的有效范围
2:可见性讨论的是标识符是否可以被引用

1,作用域

(1)函数原型作用域

在函数原型声明时,形式参数的作用范围就是函数原型作用域

(2)局部作用域

1:函数形参列表中的形参的作用域,从参数列表中声明时开始,到整个函数体结束之处为止
2:函数体内声明的变量,其作用域从声明处开始,,到声明所在块的大括号为止

(3)类作用域
(4)命名空间作用域

2,可见性

程序运行到某一点,能够引用到的标识符,就是该处可见的标识符

二,对象的生存期

1,静态生存期

对象的生存期与程序的运行期相同

2,动态生存期

局部生存期对象诞生于声明点,结束于声明所在的块执行完毕之时

三,类的静态成员

同一类的不同对象之间数据和函数的共享问题

1,静态数据成员

2,静态函数成员

四,类的友元

友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制。

1,友元函数

在类中用关键字friend修饰的非成员函数

2,友元类

1:若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员。
2:友元关系是不能传递
3
`:友元关系是单向的
4:友元关系不被继承
5:声明友元类
class B
{

friend class A;

};

五,共享数据的保护

1,常对象

const 类型说明符 对象名;

2,用const修饰的类成员

(1)常成员函数

类型说明符 函数名(参数表)const;

(2)常数据成员

3,常引用

六,多文件结构和编译预处理命令

1,C++程序的一般组织结构

2,外部变量与外部函数

3,标准C++库

4,编译预处理

七,深度探索

你可能感兴趣的:(C++面向对象设计,c++)