I am trying to learn C++, and wrote this code. According to my understaing this code need to produce output as "Derived Class" but output is "Base Class".
Please help me understand this.
#include <iostream> 
using namespace std; 
class Base { 
    public: 
    char* name; 
    void display() { 
         cout << name << endl; 
    } 
};
class Derived: public Base { 
   public: 
   char* name; 
   void display() { 
       cout << name << ", " << Base::name << endl; 
   } 
}; 
int main() { 
   Derived d; 
   d.name = "Derived Class"; 
   d.Base::name = "Base Class"; 
   Derived* dptr = &d; 
   Base* bptr = dptr; 
   bptr->display();
}
Please consider me as a beginner and explain why its output is "Base Class" 
 
     
     
     
     
     
    