Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++static的作用

作者:妳會吥會在吥經意間想起莪?   发布日期:2025-04-21   浏览:40

// 示例代码:C++ 中 static 的作用

#include <iostream>
using namespace std;

class MyClass {
public:
    // 静态成员变量,属于类而不是对象,所有对象共享同一份数据
    static int staticVar;

    // 静态成员函数,只能访问静态成员变量或静态成员函数
    static void staticFunc() {
        cout << "Static function called, staticVar = " << staticVar << endl;
    }

    // 普通成员函数
    void normalFunc() {
        cout << "Normal function called, staticVar = " << staticVar << endl;
    }
};

// 初始化静态成员变量,必须在类外进行
int MyClass::staticVar = 10;

int main() {
    // 调用静态成员函数,不需要创建对象
    MyClass::staticFunc();

    // 创建对象并调用普通成员函数
    MyClass obj;
    obj.normalFunc();

    // 修改静态成员变量的值
    MyClass::staticVar = 20;

    // 再次调用静态成员函数和普通成员函数
    MyClass::staticFunc();
    obj.normalFunc();

    return 0;
}

解释说明:

  1. 静态成员变量

    • static int staticVar; 是一个静态成员变量。它属于类本身,而不是类的对象。所有对象共享同一份静态成员变量。
    • 静态成员变量必须在类外部初始化,如 int MyClass::staticVar = 10;
  2. 静态成员函数

    • static void staticFunc() 是一个静态成员函数。它可以被类直接调用,而不需要创建对象。
    • 静态成员函数只能访问静态成员变量或静态成员函数,不能访问非静态成员变量或非静态成员函数。
  3. 普通成员函数

    • void normalFunc() 是一个普通的成员函数,需要通过对象来调用。
    • 它可以访问静态成员变量和静态成员函数,也可以访问非静态成员变量和非静态成员函数。
  4. 调用方式

    • 静态成员函数可以通过类名直接调用,如 MyClass::staticFunc();
    • 普通成员函数需要通过对象调用,如 obj.normalFunc();
  5. 静态成员变量的共享性

    • 所有对象共享同一个静态成员变量,修改其中一个对象的静态成员变量会影响其他对象对该变量的访问。

希望这段代码和解释能帮助你理解 C++ 中 static 的作用。

上一篇:c++ for each

下一篇:setfill在c++中怎么用

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ vector 清空

c++ tcp

c++ gcd函数

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站