static
static关键字用于声明类的静态成员变量,即它只有一个实例,并且不属于某个特定的对象,而是属于整个类。它可以被类中的所有对象共享,也可以在类外通过类名访问,通常用于存储类的一些公共数据,如计数器。static声明的变量可以是全局变量,也可以是局部变量,但不能声明为普通成员变量。
class A { public: static int a; //声明静态变量 int b; //声明普通成员变量 static void func(); //声明静态成员函数 void func1(); //声明普通成员函数 }; int A::a = 10; //定义静态变量 void A::func() //定义静态成员函数 { cout << a << endl; } void A::func1() //定义普通成员函数 { cout << b << endl; }
const
const关键字用于声明常量,它可以用来声明类的常量成员变量,也可以用来声明普通常量,如果它声明的是类成员变量,则它必须在类的内部被初始化,而且它只能在类的内部被修改,不能在类的外部被修改,常量成员变量的值只能在编译时确定,不能在运行时确定。
class A { public: const int a = 10; //声明常量成员变量 int b; //声明普通成员变量 void func(); //声明普通成员函数 }; void A::func() //定义普通成员函数 { cout << a << endl; }
static const
static const关键字用于声明类的静态常量成员变量,它只有一个实例,并且不属于某个特定的对象,而是属于整个类,它可以被类中的所有对象共享,也可以在类外通过类名访问,它的值只能在编译时确定,不能在运行时确定,它不能在类的外部被修改,也不能在类的内部被修改,它的值只能在类的内部被初始化,一旦初始化,它的值就不能再改变。
class A { public: static const int a = 10; //声明静态常量成员变量 int b; //声明普通成员变量 void func(); //声明普通成员函数 }; void A::func() //定义普通成员函数 { cout << a << endl; }