What I want the last line to do is call the foo() that is in class D. It compiles but crashes every time. What am I doing wrong?Code:class A{
public:
virtual foo() = 0;
};
class B{};
class C : public A, public B{
public:
virtual foo();
};
class D : public C{
public:
foo();
};
D *d = new D;
A *a = (A*)d;
a->foo(); //crashes the program