c++ 中static 方法
摘要:
1.C++中static关键字的基本概念
2.static关键字在成员函数中的应用
3.static关键字在成员变量中的应用
4.static关键字在类外函数中的应用
5.static关键字注意事项
正文:
C++中static关键字是一种限定符,它有以下几种应用场景:
static修饰的变量一、static关键字在成员函数中的应用
当我们需要在类的成员函数中使用静态成员时,可以使用static关键字。静态成员函数不依赖于类的实例,而是直接通过类名调用。这意味着静态成员函数可以在没有创建类实例的情况下使用。例如:
```cpp
class MyClass {
public:
    static void staticFunc() {
        cout << "这是静态成员函数" << endl;
    }
};
int main() {
    MyClass::staticFunc(); // 调用静态成员函数
    return 0;
}
```
二、static关键字在成员变量中的应用
静态成员变量是在类外部声明的,它不属于类的实例,因此静态成员变量在实例之间共享。静态成员变量需要使用static关键字声明,例如:
```cpp
class MyClass {
public:
    static int staticVar;
    void init() {
        staticVar = 10;
    }
};
int MyClass::staticVar = 0;
int main() {
    MyClass obj1;
    MyClass obj2;
    obj1.init(); // 初始化静态成员变量
    cout << "obj1的静态成员变量值:" << obj1.staticVar << endl;
    obj2.init(); // 再次初始化静态成员变量,实际值为10
    cout << "obj2的静态成员变量值:" << obj2.staticVar << endl;
    return 0;
}
```
三、static关键字在类外函数中的应用
静态成员函数可以在类外部声明,这种函数被称为静态成员函数。静态成员函数可以直接通过类名调用,不需要创建类实例。例如:
```cpp
class MyClass {
public:
    static void staticFunc() {
        cout << "这是静态成员函数" << endl;
    }
};
void callStaticFunc() {
    MyClass::staticFunc(); // 调用静态成员函数
}
int main() {
    callStaticFunc();
    return 0;
}
```
四、static关键字注意事项
1.静态成员函数不能访问非静态成员,但可以访问静态成员。
2.静态成员函数不能被声明为const、volatile或者const volatile。
3.静态成员变量需要在类外部声明,且使用static关键字修饰。
4.静态成员变量在实例之间共享,修改一个实例的静态成员变量会影响其他实例的静态成员变量。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。