Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Mandsaur university
mandsaur
department of computer application
mca-ii year(iv sem)
submitted by - arun Singh
TOPIC-POLyMORPHISM& INHERITENCE
• *CONTAINT:
• *POLyMORPHISM
* TYPE-
* Runtime polymorphism
* Compile time polymorphism:
• *INHERITENCE
* TYPE-
*Single Level Inheritance
*Multi Level Inheritance
POLyMORPHISM
•DEFINATION:-
• The term "Polymorphism" is the combination of
"poly" + "morphs" which means many forms. It is a
greek word. In object-oriented programming, we use 3
main concepts:
inheritance, encapsulation and
polymorphism.
There are two types of polymorphism:-
•Compile time polymorphism:
It is achieved by function overloading and
operator overloading which is also known as static
binding or early binding.
C++ Function Overloading
•Having two or more function with same name but
different in parameters, is known as function
overloading in C++.
C++ Function Overloading Example
#include <iostream>
using namespace std;
class Cal {
public:
static int add(int a,int b){
return a + b;
}
static int add(int a, int b, int c)
{
return a + b + c;
}
};
int main(void) {
Cal C;
cout<<C.add(10, 20)<<endl;
cout<<C.add(12, 20, 23);
return 0;
}
out put-
30
55 5
C++ Operators Overloading
•Operator overloading is used to overload or redefine
most of the operators available in C++. It is used to
perform operation on user define data type.
•The advantage of Operators overloading is to perform
different operations on the same operand.
C++ Operators Overloading Example
#include <iostream>
class Test
{
private:
int num;
public:
Test(): num(8){}
void operator ++()
{
num = num+2;
}
void Print() {
cout<<"The Count is: "<<num;
}
};
int main()
{
Test tt;
++tt; // calling of a function "void operator ++()"
tt.Print();
return 0;
}
output:
• The count is:10
Runtime polymorphism:
• It is achieved by method overriding which is also known as dynamic
binding or late binding.
#include <iostream>
class Animal {
public:
void eat(){
cout<<"Eating...";
}
};
class Dog: public Animal
{
public:
void eat()
{
cout<<"Eating bread...";
}
};
int main(void) {
Dog d = Dog();
d.eat();
return 0;
}
Output:
Eating bread...
Inheritance
• Inheritance is a process in which one object acquires all the
properties and behaviors of its parent object automatically.
• The class which inherits the members of another class is called
derived class and the class whose members are inherited is called
base class.
C++ Single Level Inheritance
• When one class inherits another class, it is known as single level
inheritance.
C++ Single Level Inheritance Example: Inheriting Fields
#include <iostream>
using namespace std;
class Account {
public:
float salary = 60000;
};
class Programmer: public Account {
public:
float bonus = 5000;
};
int main(void) {
Programmer p1;
cout<<"Salary: "<<p1.salary<<endl;
cout<<"Bonus: "<<p1.bonus<<endl;
return 0;
}
Output
Salary: 60000
Bonus: 5000
C++ Single Level Inheritance Example: Inheriting Methods
#include <iostream>
using namespace std;
class Animal {
public:
void eat() {
cout<<"Eating..."<<endl;
}
};
class Dog: public Animal
{
public:
void bark(){
cout<<"Barking...";
}
};
int main(void) {
Dog d1;
d1.eat();
d1.bark();
return 0;
}
Output-
Eating…
Barking…
C++ Multi Level Inheritance
When one class inherits another class which is further inherited by
another class, it is known as multi level inheritance in C++.
Inheritance is transitive so the last derived class acquires all the
members of all its base classes.
#include <iostream>
using namespace std;
class Animal {
public:
void eat() {
cout<<"Eating..."<<endl;
}
};
class Dog: public Animal
{
public:
void bark(){
cout<<"Barking..."<<endl;
}
};
C++ Multi Level Inheritance example
class BabyDog: public Dog
{
public:
void weep() {
cout<<"Weeping...";
}
};
int main(void) {
BabyDog d1;
d1.eat();
d1.bark();
d1.weep();
return 0;
}
Output:
Eating…
Barking?
weeping?
THANK YOU

More Related Content

Polymorphism & inheritence ppt

  • 1. Mandsaur university mandsaur department of computer application mca-ii year(iv sem) submitted by - arun Singh
  • 2. TOPIC-POLyMORPHISM& INHERITENCE • *CONTAINT: • *POLyMORPHISM * TYPE- * Runtime polymorphism * Compile time polymorphism: • *INHERITENCE * TYPE- *Single Level Inheritance *Multi Level Inheritance
  • 3. POLyMORPHISM •DEFINATION:- • The term "Polymorphism" is the combination of "poly" + "morphs" which means many forms. It is a greek word. In object-oriented programming, we use 3 main concepts: inheritance, encapsulation and polymorphism.
  • 4. There are two types of polymorphism:- •Compile time polymorphism: It is achieved by function overloading and operator overloading which is also known as static binding or early binding.
  • 5. C++ Function Overloading •Having two or more function with same name but different in parameters, is known as function overloading in C++.
  • 6. C++ Function Overloading Example #include <iostream> using namespace std; class Cal { public: static int add(int a,int b){ return a + b; } static int add(int a, int b, int c) { return a + b + c; } }; int main(void) { Cal C; cout<<C.add(10, 20)<<endl; cout<<C.add(12, 20, 23); return 0; } out put- 30 55 5
  • 7. C++ Operators Overloading •Operator overloading is used to overload or redefine most of the operators available in C++. It is used to perform operation on user define data type. •The advantage of Operators overloading is to perform different operations on the same operand.
  • 8. C++ Operators Overloading Example #include <iostream> class Test { private: int num; public: Test(): num(8){} void operator ++() { num = num+2; } void Print() { cout<<"The Count is: "<<num; } }; int main() { Test tt; ++tt; // calling of a function "void operator ++()" tt.Print(); return 0; } output: • The count is:10
  • 9. Runtime polymorphism: • It is achieved by method overriding which is also known as dynamic binding or late binding.
  • 10. #include <iostream> class Animal { public: void eat(){ cout<<"Eating..."; } }; class Dog: public Animal { public: void eat() { cout<<"Eating bread..."; } }; int main(void) { Dog d = Dog(); d.eat(); return 0; } Output: Eating bread...
  • 11. Inheritance • Inheritance is a process in which one object acquires all the properties and behaviors of its parent object automatically. • The class which inherits the members of another class is called derived class and the class whose members are inherited is called base class.
  • 12. C++ Single Level Inheritance • When one class inherits another class, it is known as single level inheritance.
  • 13. C++ Single Level Inheritance Example: Inheriting Fields #include <iostream> using namespace std; class Account { public: float salary = 60000; }; class Programmer: public Account { public: float bonus = 5000; }; int main(void) { Programmer p1; cout<<"Salary: "<<p1.salary<<endl; cout<<"Bonus: "<<p1.bonus<<endl; return 0; } Output Salary: 60000 Bonus: 5000
  • 14. C++ Single Level Inheritance Example: Inheriting Methods #include <iostream> using namespace std; class Animal { public: void eat() { cout<<"Eating..."<<endl; } }; class Dog: public Animal { public: void bark(){ cout<<"Barking..."; } }; int main(void) { Dog d1; d1.eat(); d1.bark(); return 0; } Output- Eating… Barking…
  • 15. C++ Multi Level Inheritance When one class inherits another class which is further inherited by another class, it is known as multi level inheritance in C++. Inheritance is transitive so the last derived class acquires all the members of all its base classes.
  • 16. #include <iostream> using namespace std; class Animal { public: void eat() { cout<<"Eating..."<<endl; } }; class Dog: public Animal { public: void bark(){ cout<<"Barking..."<<endl; } }; C++ Multi Level Inheritance example
  • 17. class BabyDog: public Dog { public: void weep() { cout<<"Weeping..."; } }; int main(void) { BabyDog d1; d1.eat(); d1.bark(); d1.weep(); return 0; } Output: Eating… Barking? weeping?