#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的构造函数不止一次。我不希望这种情况发生。
答案 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
时,那就是变量的值,即句点。
如果你需要保存两个不同的值,那么你需要两个变量。