废话不多说,先上代码:
静态类 View.h文件代码:
static class View
{
private:
static Student student;
public:
static int much ;
static void addStudent();
};
view.cpp 实现代码:
Student View::factor;
int View::much = 0;
//必须要有的静态成员实现代码
void View::addStudent() {
Student st1;
factor.add(st1);
//此处静态成员不能使用 this->
}
主函数 main 外部调用
#include "View.h"
int main()
{
View::addStudent();
//静态函数调用是可采用此方法
return 0;
}
注:
静态类所必须的初始化在类外进行(不应在.h文件内实行),而前面不加static,以免与外部静态变量(对象)相混淆。
初始化时不加该成员的访问权限控制符private,public等。
初始化时使用作用域运算符来标明它所属类,静态数据成员是类的成员(而不是对象的成员,因没有对象)。
静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。
不能再实现中使用this关键字因为它已经实例化,开辟了内存
调用时,标明所属静态类(也可以像math类采用命名空间,没有命名冲突)