polymorphism in c++


                                    //   Ploymorphism Exapmle........

#include<iostream>
#include<conio.h>
using namespace std;
class animal
{
public:
       string name;
     virtual  void SetName(string n)
         {
         name=n;    
         }  
          virtual  string getName()
        {
        return name;      
        }   
};
class cat:public animal
{
  public:
     void SetName(string n)
         {
         name=n;    
         }      
           string getName()
        {
        return name;      
        }  
};
class dog:public animal
{
public:
       void SetName(string n)
         {
         name=n;    
         } 
       string getName()
        {
        return name;      
        }  
};



int main()
{
    animal *an;
    cat ct;
    dog dg;
    an=&ct;
    an->SetName("manoooo");
    cout << an->getName()<< endl;
    an=&dg;
    an->SetName("doggggyyyyyy");
    cout << an->getName();
getch();
return 0;
}