#include <iostream>
class MyClass {
public:
// 静态成员变量声明
static int staticVar;
// 构造函数
MyClass() {
staticVar++;
std::cout << "Constructor called, staticVar = " << staticVar << std::endl;
}
// 静态成员函数
static void printStaticVar() {
std::cout << "Static variable value: " << staticVar << std::endl;
}
};
// 静态成员变量定义和初始化(必须在类外进行)
int MyClass::staticVar = 0;
int main() {
std::cout << "Before creating objects:" << std::endl;
MyClass::printStaticVar();
MyClass obj1;
MyClass obj2;
std::cout << "After creating objects:" << std::endl;
MyClass::printStaticVar();
return 0;
}
静态成员变量:static int staticVar;
是一个静态成员变量,它属于类而不是类的任何特定对象。这意味着所有对象共享同一个 staticVar
变量。
静态成员变量的初始化:静态成员变量必须在类外部进行定义和初始化,如 int MyClass::staticVar = 0;
。
静态成员函数:static void printStaticVar()
是一个静态成员函数,它可以访问静态成员变量,但不能访问非静态成员变量或调用非静态成员函数,因为它不依赖于任何特定的对象实例。
构造函数中的操作:每次创建 MyClass
的对象时,构造函数会将 staticVar
自增,并输出当前的值。
主函数中的调用:在 main
函数中,我们首先调用静态成员函数 printStaticVar
来查看静态变量的初始值,然后创建两个对象 obj1
和 obj2
,最后再次调用 printStaticVar
查看静态变量的变化。
通过这个例子,你可以看到静态变量和静态函数的特点以及它们如何在类中使用。
上一篇:c++次方怎么表示
下一篇:c++求字符串长度
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站