1. C++对象的生存期:
静态生存期:在文件作用域范围内声明或者在函数体里使用static声明的对象具有静态生存期
2. 类的静态成员:
静态数据成员: 采用static声明的静态成员, 静态成员在每个类中只有一个拷贝,由该类的所有对象共同拥有和维护,从而可以实现不同对象之间的数据共享。
访问方法: 类名::标识符
静态成员函数:可以直接访问该类的静态数据和静态函数成员。
3. 类的友元 : 友元提供了不同的类和对象的成员函数之间,或者类成员函数和普通成员函数之间进行数据共享的机制
4. 友元函数: 在类中使用关键字friend修饰的非成员函数。 友元函数可以是一个普通函数或者其他类的成员函数。 虽然它不是本类的成员函数,但是在它的函数体中,可以通过对象名访问类的私有和保护成员。
5. 友元类: 若A类是B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员。
声明方法: class B
{
friend class A; //A类是B类的友元函数
}
友元类的几点说明: a. 友元关系不能传递 b.友元关系是单向的 c. 友元关系不能被继承
对共享数据的保护:
6. 常引用:在声明引用时,使用const修饰, 常引用的对象不能被更新。保证了引用的安全。
7. 常对象: 类名 const 对象名; 常对象必须被初始化,而且不能被更新。
8. 常成员函数: 类型说明符 函数名() const
注意: a. const是函数类型的一部分
b. 常成员函数不能更新对象的数据成员,也不能调用该类中的非常成员函数
c. 常对象只能调用常成员函数。