qt静态成员变量示例
时间: 2024-09-29 18:00:25 浏览: 31
QT 不同文件直接变量调用 示例
在Qt中,静态成员变量的一个常见示例是在类中创建一个全局计数器,它不会因为创建了多个类的对象而增加多次。例如,假设我们有一个`MyClass`,用于跟踪应用程序中的某个事件次数:
```cpp
class MyClass {
public:
// 静态成员变量
static quint32 eventCount;
// 构造函数和析构函数无特殊意义,因为我们不关心对象本身,只关心静态变量
MyClass() {}
~MyClass() {}
private:
// 非静态成员在此,这里是示例,实际项目中可能不需要
int privateData;
};
// 初始化静态成员变量
qint32 MyClass::eventCount = 0; // 这行必须放在类声明之外
void logEvent() {
++MyClass::eventCount; // 增加事件计数
qDebug() << "Logged event, total count: " << MyClass::eventCount;
}
// 主程序入口或其他地方调用logEvent()
logEvent();
```
在这个例子中,无论创建多少个`MyClass`对象,`eventCount`始终是共享的,并且每次调用`logEvent`都会增加计数。这种设计适合于那些需要在整个程序中追踪并累积信息的情况。
阅读全文