调用构造函数中的虚拟函数假设我有两个C+类:class A{public:
A() { fn(); }
virtual void fn() { _n = 1; }
int getn() { return _n; }protected:
int _n;};class B : public A{public:
B() : A() {}
virtual void fn() { _n = 2; }};如果我编写以下代码:int main(){
B b;
int n = b.getn();}人们可能会想到n设置为2。结果证明n设置为1。为什么?
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
- 3 回答
- 0 关注
- 495 浏览
添加回答
举报
0/150
提交
取消