Trying out polymorphism as a beginner. I think I am trying the same code in different languages, but the result is not the same :
C++
#include <iostream>
using namespace std;
class A {
    public:
    void whereami() {
        cout << "You're in A" << endl;
    }
};
class B : public A {
    public:
    void whereami() {
        cout << "You're in B" << endl;
    }
};
int main(int argc, char** argv) {
    A a;
    B b;
    a.whereami();
    b.whereami();
    A* c = new B();
    c->whereami();
    return 0;
}
Results :
You're in A
You're in B
You're in A
Java :
public class B extends A{
    void whereami() {
        System.out.println("You're in B");
    }
}
//and same for A without extends
//...
public static void main(String[] args) {
    A a = new A();
    a.whereami();
    B b = new B();
    b.whereami();
    A c = new B();
    c.whereami();
}
Results :
You're in A
You're in B
You're in B
Not sure if i'm doing something wrong, or this has to do with the languages themselves?
 
     
     
     
    