qt类内静态函数的定义和使用
时间: 2023-08-12 14:07:21 浏览: 108
Qt静态函数发送信号
在Qt中,类内静态函数的定义和使用与普通的类内静态函数定义和使用方法相同。下面是一个示例代码:
```cpp
class MyClass {
public:
MyClass();
~MyClass();
static int getNum();
private:
static int m_num;
};
int MyClass::m_num = 0;
MyClass::MyClass()
{
m_num++;
}
MyClass::~MyClass()
{
m_num--;
}
int MyClass::getNum()
{
return m_num;
}
```
在上面的代码中,我们定义了一个名为MyClass的类,它有一个私有的静态变量m_num,表示类的实例数量。在MyClass的构造函数中,我们将m_num的值加1,在析构函数中将其减1。此外,我们还定义了一个公共的静态函数getNum,用于获取m_num的值。
使用该类的示例代码如下:
```cpp
MyClass obj1;
MyClass obj2;
qDebug() << "The number of instances of MyClass is:" << MyClass::getNum();
```
在上面的代码中,我们创建了两个MyClass的实例,然后调用MyClass的静态函数getNum,获取MyClass的实例数量,并将其输出到控制台上。
需要注意的是,静态函数只能访问静态成员变量,不能访问非静态成员变量。此外,静态函数可以直接通过类名调用,不需要创建类的实例。
阅读全文