C++ Program for Early Binding.
#include<iostream>
using namespace std;
class Animals
{
public:
void show()
{
cout << "This is parent class" << endl;
}
};
class Dogs : public Animals
{
public:
void show()
{
cout << "Dogs bark" << endl;
}
};
int main()
{
Animals *a;
Dogs d;
a= &d;
a -> show(); // early binding
return 0;
}
C++ Program for Late Binding.
#include<iostream>
using namespace std;
class Animals
{
public:
virtual void show()
{
cout << "This is parent class" << endl;
}
};
class Dogs : public Animals
{
public:
void show()
{
cout << "Dogs bark" << endl;
}
};
int main()
{
Animals *a;
Dogs d;
a= &d;
a -> show();
return 0;
}
C++ Program for Virtual function.
#include<iostream>
using namespace std;
class Animals
{
public:
virtual void show()
{
cout << "This is parent class" << endl;
}
};
class Dogs : public Animals
{
public:
void show()
{
cout << "Dogs bark" << endl;
}
};
int main()
{
Animals *a;
Dogs d;
a= &d;
a -> sound();
return 0;
}
C++ Program for Pure virtual Function and Abstract Class.
#include<iostream>
using namespace std;
class Animals
{
public:
virtual void sound() = 0;
};
class Dogs
{
public:
void sound()
{
cout << "Dogs bark" << endl;
}
};
class Cats
{
public:
void sound()
{
cout << "Cats meow" << endl;
}
};
class Pigs
{
public:
void sound()
{
cout << "Pigs snort" << endl;
}
};
int main()
{
Dogs d;
Cats c;
Pigs p;
d.sound();
c.sound();
p.sound();
return 0;
}