5.数据的共享和保护

第五章 数据的共享和保护

5.1标识符的作用域和可见性

可见性:标识符是否可以引用的问题

作用域:是标识符的有效范围

① 函数原型作用域:函数原型中的参数

② 局部作用域:从声明处开始,到块结束的右大括号

③ 类作用域:类的成员具有类作用域

命名空间作用域(具有命名空间作用域的变量也称为全局变量

5.2对象的生存期

①静态生存期:

·与程序的运行期相同

·在命名空间作用域中声明的对象具有

·在函数内部声明的静态生存期对象要加static

②动态生存期:

·局部作用域中声明的对象具有(局部生存期对象)

5.3类的静态成员

·用static声明

·该类的所有对象维护该成员的同一个拷贝

·必须在类外定义和初始化,用::指明所属类

静态成员函数:

·类外代码可以使用类名和作用域操作符::来调用静态成员函数

·只能引用属于该类的静态数据成员或静态成员函数

5.4类的友元

①友元函数:是在类声明中由friend修饰说明的非成员函数

在它的函数体中,能通过对象名访问private和protected成员

1. 普通函数

2. 其他类的成员函数(可以通过它访问另一个类中的成员)

②友元类:若类B为类A的友元,则类B的所有成员都能访问类A的private和protected成员

注意:友元关系:①不能传递②单向③不被继承

5.5共享数据的保护

①常对象 :例:const A a(3,4);

数据成员的值,在对象的整个生存期间不能被改变,必须进行初始化,且不能被更新

②用const修饰的类成员:常成员函数 、 常数据成员 (const可以区分重载函数)

常成员函数不能更新目的对象的数据成员,通过常对象只能调用常成员函数,其他函数不行

③常引用

被引用的对象不能被更新,可以绑定到 普通对象 或 常对象(非const引用不能)。

posted @ 2016-12-28 20:20  GraceSkyer  阅读(138)  评论(0编辑  收藏  举报

~~~~~~ACM大牛语录,激励一下~~~~~~

为了世界的和平,为了女生的安全,我拼命做题,做题,做题!

用最短的时间,刷最多的题!

给我一滴泪,我就看到了你全部的海洋!

seize the hour, seize the day.

人生难免有无奈,幸福走远了,或是感叹幸福来迟了.其实我一直相信,无论手中的幸福是多么微不足道的感觉,我会把握住那每一分,每一秒,当幸福依旧像那百鸟般飞逝,终究无法掌握时,我会感谢它,曾经降临过!

A自己的题,让别人郁闷去吧

WA肠中过,AC心中留 TLE耳边过,AC特别牛

天然的悲苦和伤逝,过去有过,以后还会有

^*^一步一步往上爬^*^

AC就像练级,比赛就像PK. 练级不如PK好玩

其实,世上本没有ACM,AC的人多了,也便有了!

AC无止尽~ Seek you forever~

找呀找呀找水题,找到一个AC一个呀!

AC是检验程序的唯一标准。

真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血……