对象的生存期 静态生存期:对象的生存期与程序的运行期相同。在函数内部用staitc声明, 局部作用域中静态变量的特点:并不随着每次函数调用而产生一个副本, 也不会随着函数的返回而失效,全局变量含有静态生存期的性质 动态生存期:局部生存期对象诞生于声明点,结束于块执行完毕时
类的静态数据成员可以在类外通过类名作用域直接赋值
注意:类的静态成员函数可以通过类名或对象名来调用,而非静态成员函数只能通过对象来调用
C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式
数据成员类型 const static normal 直接初始化(在声明时就赋值) √ × √ 先声明再通过初始化列表赋初值 √ × √ 先声明再在构造函数体里赋初值 × × √ 先声明再在类外赋初值 × √ ×
#include<iostream>
using namespace std;
class A
{
public:
static void f(A a);
private:
int x;
static int y;
};
void A::f(A a)
{
cout<<a.x<<endl;
cout<<y<<endl;
}