c++ base类的静态成员变量使用

   2024-09-30 9070
核心提示:在C++中,基类(base class)的静态成员变量可以被派生类(derived class)访问和修改。静态成员变量是属于类的,而不是属于某个

在C++中,基类(base class)的静态成员变量可以被派生类(derived class)访问和修改。静态成员变量是属于类的,而不是属于某个特定对象的。因此,它们在内存中只有一个副本,可以通过类名直接访问,也可以通过对象访问。

下面是一个简单的例子,展示了如何在基类中定义静态成员变量,并在派生类中使用它:

#include<iostream>// 基类class Base {public:    static int staticVar; // 静态成员变量声明};// 静态成员变量定义和初始化int Base::staticVar = 0;// 派生类class Derived : public Base {public:    void printStaticVar() {        std::cout << "Static variable value in Derived class: "<< staticVar<< std::endl;    }};int main() {    Base baseObj;    Derived derivedObj;    // 通过基类对象访问静态成员变量    baseObj.staticVar = 10;    std::cout << "Static variable value in Base class: "<< baseObj.staticVar<< std::endl;    // 通过派生类对象访问静态成员变量    derivedObj.printStaticVar();    // 通过类名访问静态成员变量    Base::staticVar = 20;    std::cout << "Static variable value in Base class: "<< Base::staticVar<< std::endl;    derivedObj.printStaticVar();    return 0;}

输出结果:

Static variable value in Base class: 10Static variable value in Derived class: 10Static variable value in Base class: 20Static variable value in Derived class: 20

从输出结果可以看到,无论是通过基类对象、派生类对象还是类名访问静态成员变量,都能正确地获取和修改它的值。这说明静态成员变量在基类和派生类之间是共享的。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号