0
点赞
收藏
分享

微信扫一扫

第六章-Broker使用的通用类

以前干嘛去了 03-27 20:30 阅读 1

一、静态成员变量

1.理论

  • 定义:由关键字static修饰类体中成员,称为类静态成员(static class member)。
  • 特点静态成员变量是类的所有对象共享的变量。与普通成员变量相比,无论创建了多少个类的实例,静态成员变量只有一份拷贝。
  • 初始化:静态成员变量需要在类外进行初始化,通常在类的实现文件中。
  • 访问:静态成员变量可以通过类名直接访问,不需要创建类的对象。也可以通过类的对象访问。
  • 用途:常用于存储类级别的信息(例如,计数类的实例数量)或全局数据需要被类的所有实例共享。

2.实战

#include <iostream>

using namespace std;

class Myclass{
public:
    int datas;
    static int staticValues;//定义一个静态成员变量
};
int Myclass::staticValues = 0;//初始化静态成员变量
int main()
{
    cout << Myclass::staticValues << endl;//直接对成员变量访问
    return 0;
}

二、静态成员函数

2.1理论

  • 定义:静态成员函数是可以不依赖于类的实例而被调用的函数。它不能访问类的非静态成员变量和非静态成员函数。
  • 访问:类似于静态成员变量,静态成员函数可以通过类名直接调用,也可以通过类的实例调用。
  • 用途:常用于实现与具体对象无关的功能,或访问静态成员变量。

2.2实战 

#include <iostream>

using namespace std;
class Test{
public:
    void printInfor();

};
class Myclass{
public:
    static int staticValues;//静态成员变量
    static int getStaticValue(){//静态成员函数
        return staticValues;
    }
};
int Myclass::staticValues = 0;//静态成员变量初始化
void Test::printInfor()
{
    Myclass::staticValues++;
    cout << Myclass::getStaticValue() << endl;//其他类的成员函数访问静态成员函数
}
int main()
{
    Test s1;

    cout << Myclass::staticValues << endl;
    cout << Myclass::getStaticValue() << endl;
    s1.printInfor();
    return 0;
}

举报

相关推荐

0 条评论