I have this code:
#include <iostream>
class A {
public:
virtual void foo() {
std::cout << "this is A" << std::endl;
}
};
class B : public A {
public:
void foo() {
std::cout << "this is B" << std::endl;
}
};
int main() {
A obj = B();
obj.foo();
std::cin.get();
return 0;
}
The desired output is this is B, but I am getting this is A. It works when obj is A*, but is there a way to get this is B while keeping obj A?