У меня проблема с подклассом и использованием методов.
Я создаю экземпляр класса 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;
}