1、静态成员
#include <iostream>
using namespace std;
class salary
{
public:
salary(const int b){sal = b;}
static void reset(const int p)
{
all = p;
}
void print()
{
cout<<"sal = "<<sal
<<" all = "<<all<<endl;
}
private:
int sal;
static int all;
};
int salary::all = 100;
int x=90;
int main()
{
salary w1(49) , w2(50);
w1.reset(60);///等价于 salary::reset(60);
w1.print();
w2.print();
return 0;
}
对于一个类中存在静态成员变量,那在定义类的对象时,这些对象公用这个静态成员变量。不是每个该类的对象都包含这个静态成员变量。它应该在一个公共的区间内。一旦你改变了它,那么对于该类的所有对象,这个值改变了,他们共用这个值。静态成员是在编译期间就初始化了的。
2、关键字 mutable
#include <iostream>
using namespace std;
class Person
{
public:
Person(const char* n,int a ,unsigned long h)
{
name = n;
age = a;
hight = h;
}
void baby() {