我对子类化和使用方法有疑问。
我创建了一个类的实例B
并将其存储为指向A
. 但是当我使用指针调用重载方法时,输出是“A”而不是“B”。为什么?
这适用于其他语言,我做错了什么?
#include <iostream>
using namespace std;
class A {
public:
void f() {
cout << "A";
}
};
class B : public A {
public:
void f() {
cout << "B";
}
};
int main() {
A *a = new B();
a->f();
return 0;
}