I'm currently learning c++ and in inheritance. I have an issue concerning use of const. Here's the code :
#include <iostream>
using namespace std;
class Base {
     public : 
      virtual void pol()  const
     {
        cout<< " Base ";
     }
};
 class Derived : virtual public Base {
    public:
       void  pol( ) 
    {
        cout<< "derived";
    }
};
int main( )
{
    const Base *b = new Derived();
    b-> pol();
    return 0;
}
My teacher absolutely wants me to use "const Base *b" in the function main()
When I compile and execute this code the result printed is "Base" , while I'm expecting getting an "derived". I know it come from the " const" use in :
      virtual void pol()  const
But it's for the moment the only way I found to get this compile. Thanks for your time
 
    