【发布时间】:2021-08-24 21:11:40
【问题描述】:
我有一个带有函数和子类的类。
在以下代码中,我想以 d.getX() 返回 40 的方式覆盖 int x。
using std::cout, std::endl;
class Base {
protected:
int x;
int y;
public:
Base(int y) : y(y) {};
int getX() {
return x;
}
};
class Derived : public Base {
protected:
int x = 40;
public:
using Base::Base;
};
int main() {
Base d(10);
cout << d.getX() << endl; // want to print 40
return 0;
}
这可能吗?谢谢!
【问题讨论】:
-
这个问题表明对继承的工作原理缺乏了解。我建议看看我们的list of textbooks。
标签: c++ inheritance overriding