如何从派生类中的基类访问变量的值?

How to access variable's value from base class in derived class?

本文关键字:基类 访问 变量 派生      更新时间:2023-10-16
#include<iostream>
class Foo {
    protected: // Make x visible to derived classes
        int x;
    public: 
        Foo() {
           x = 2;
        }
};
class Derived : public Foo {
    public: 
        Derived() {
            x = 4;
        }
        void print(){
            std::cout << x << std::endl;
        }
};

int main() {
    Derived a;
    a.print();
}

打印4.我想访问x print中的x值。我要打印2和4两者。我需要在派生类中创建foo对象并通过object.x访问它?Foo的构造函数不止一次。我不希望发生这种情况。

您需要两个变量才能容纳两个值。

在对象总数中只有一个一个 xFoo部分中没有一个,在Derived部分中没有一个。因此,当您的派生构造函数将4分配给x时,那就是变量,周期的值。如果您需要保持两个不同的值,则需要两个变量。