leonardchaocc / Application

0 stars 0 forks source link

C++补课 数据的共享和保护标识符 静态成员 常量 友元 #9

Open leonardchaocc opened 4 years ago

leonardchaocc commented 4 years ago

标识符:作用域:函数原型作用域——函数形参表的范围(内);局部(块)作用域——函数的形参、在块中声明的标识符,自声明处起,限于块中;类作用域——包括类体和成员函数体,若在类外访问类的成员:静态成员:通过类名或该类对象名对象引用访问,非静态成员还可以通过对象指针访问;文件作用域——不在前述各个作用域中出现的声明,始于声明点,结束于文件终点;命名空间作用域 可见性

对象生存期:产生到结束的时间;分静态与动态。 静态生存期:与程序运行期相同,在文件作用域中声明的对象具备此种生存期,函数内部声明静态生存期对象需加static 关键字 动态生存期:开始于程序执行到声明点时,结束于作用域结束处。块作用域中声明的无static关键字的对象是动态生存期的对象,一般称局部生存期对象。

类的静态数据成员:static声明,为所有对象共享,初始化要放在类外。 类的静态函数成员:专门用来处理静态数据成员,如果访问非静态成员,就需要对象作为参数传入。 类的友元(friend):c++提供的一种破坏数据封装和隐藏的机智,通过友元的声明使A可以引用到B中本被隐藏的信息,也可以声明友元函数和友元类,须慎用。友元函数:类声明中由关键字friend修饰说明的非成员函数,使其可以通过对象名访问private和protected成员,需要将对象作为参数传入。友元关系是单向的。每个类只有资格授权。

共享数据的保护:定义为常类型,const,使其不被修改。常对象:必须进行初始化,且不能被更新。