C++中类的静态成员

    技术2024-07-18  71

    静态数据成员:

    对于非const的类静态成员,只能在类的实现文件中初始化,如下示例代码。 Human.h

    class Human { public: ...... static int getCount(); private: string name = "Unknown"; int age = 28; ...... // 类的静态成员 static int count; };

    Human.cpp

    #include "Human.h" // 初始化类的静态成员 int Human::count = 0; ...... // 类的普通成员函数,可以直接访问静态成员(可读可写) int Human::getCount() { return count; }

    const类静态成员,可以在类内设置初始值,也可以在类的实现文件中设置初始值。(但是不要同时在这两个地方初始化,只能初始化1次)。 注意: 类中所有的成员函数,都可以访问静态数据成员。 类不能直接访问普通的静态数据成员(Human::count 非法)。

    类的静态成员函数:

    类的静态方法:

    可以直接通过类来访问【更常用】,也可以通过对象(实例)来访问。在类的静态方法中,不能访问普通数据成员和普通成员函数(对象的数据成员和成员函数)

    注意:

    对象可以直接访问静态成员函数

    类可以直接访问静态成员函数(Human::getCount())

    在类的静态成员函数(类的静态方法)内部,不能直接访问this指针和对象的数据成员!因为this指针是属于实例对象。

    在类的静态成员函数(类的静态方法)内部,只能访问类的数据成员(即静态数据成员)。

    Processed: 0.012, SQL: 9