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

时间:2017-04-23 09:22:05

标签: c++

#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.我想要在print中访问x的两个值。我想打印2和4两者。我是否需要在Derived类中创建Foo的对象并通过object.x访问它?但是这些调用Foo的构造函数不止一次。我不希望这种情况发生。

2 个答案:

答案 0 :(得分:2)

您需要两个变量来保存两个值。

答案 1 :(得分:0)

对象总计中只有一个 RadioButtonList1.Items.Insert(0, new ListItem("Yes", "1", true)); RadioButtonList1.Items.Insert(1, new ListItem("No", "0", true)); x部分中没有一个,Foo部分中的一个。因此,当Derived构造函数将{4}分配给Derived时,那就是变量的值,即句点。 如果你需要保存两个不同的值,那么你需要两个变量。