0
#include <iostream>
using namespace std;
class A {
public:
int get_number() {return 1;}
void tell_me_the_number() {
cout << "the number is " << get_number() <<"\n";
}
};
class B: public A {
public:
int get_number() {return 2;}
};
int main() {
A a;
B b;
a.tell_me_the_number();
b.tell_me_the_number();
}
我希望它可以输出到我:
the number is 1
the number is 2
但在现实中,我得到两倍于1号线。
B类的get_number()方法在B类时不应该被调用吗?如果这是应该的,我该如何获得我想要的行为?