Skip to main content

C++: 8. Polymorphism

Polymorphism is an important concept of object-oriented programming. It simply means more than one form. That is, the same entity (function or operator) behaves differently in different scenarios.

Function Overloading in C++
In C++, two or more functions can have the same name if the number and/or type of parameters are different, this is called function overloading.

Example:- 
#include <iostream>
using namespace std;
int add(int a, int b) {
    return a+b;
}
int add(int a, int b, int c) {
    return a+b+c;
}
double add(double a, double b) {
    return a+b;
}
int main() {
  int x = 3, y = 7, z = 12;
  double n1 = 4.56, n2 = 13.479;
  cout<<"x+y = "<<add(x,y)<<endl;
  cout<<"x+y+z = "<<add(x,y,z)<<endl;
  cout<<"n1+n2 = "<<add(n1,n2);
  return 0;
}
Output:- 
x+y = 10
x+y+z = 22
n1+n2 = 18.039


Function Overriding in C++
When a member function of a base class is redefined in its derived class with the same parameters and return type, it is called function overriding in C++. The base class function is said to be overridden.

Example:- 
#include <iostream>
using namespace std;
class base {
    public:
    virtual void display() {
        cout<<"Function of base class"<<endl;
    }
};
class derived : public base {
    public:
    void display() {
        cout<<"Function of derived class"<<endl;
    }
};
int main() {
  derived d1;
  d1.display();
  return 0;
}
Output:- 
Function of derived class

Virtual Function in C++
A virtual function is a function defined in the base class with virtual keyword. The purpose of virtual function is to ensure that the function is overridden.

Example:- 
#include <iostream>
using namespace std;
class base {
    public:
    void display() {
        cout<<"Function of base class"<<endl;
    }
};
class derived : public base {
    public:
    void display() {
        cout<<"Function of derived class"<<endl;
    }
};
int main() {
  derived d;
  base *b = &d;   //base class pointer
  b->display();   //base class function executes
  return 0;
}
Output:- 
Function of base class

Comments

Popular posts from this blog

C: 10. Array

 An array is defined as the collection of similar type of data items stored at contiguous memory locations. For example, if we want to store the marks of a student in 6 subjects, then we don't need to define different variables for the marks in the different subject. Instead of that, we can define an array which can store the marks in each subject at the contiguous memory locations. An array index starts with 0. Syntax:- data_type array_name[array_size];   int marks[5];     Example:- #include<stdio.h>   int main(){       int i=0;     int marks[5];//declaration of array        marks[0]=80;//initialization of array     marks[1]=60;     marks[2]=70;     marks[3]=85;     marks[4]=75;     //traversal of array     for(i=0;i<5;i++){       printf("%d \n",marks[i]);   ...

Py: 2. Python Fundamentals

 Variable:-  Variable is a name that is used to refer to memory location. In Python, we don't need to specify the type of variable because Python is smart enough to get variable type.  Variable names can be any length can have uppercase, lowercase (A to Z, a to z), the digit (0-9), and underscore character(_). Syntax:-  num= 345 name= "mohit" Variable Types:- Number (Int, Float) Sting Boolean Get the Type of the variable:- x = 5 y = "John" print(type(x)) print(type(y)) Output:-  <class 'int'> <class 'str'> Operators:-  The operator can be defined as a symbol which is responsible for a particular operation between two operands. Python provides a variety of operators, which are described as follows. Arithmetic Operators:-  Assume variable a holds 10 and variable b holds 20, then − + Addition Adds values on either side of the operator. a + b = 30 - Subtraction Subtracts right hand operand from left hand operand. a – b = -10 * Multiplicat...

JS: Cheatsheet

   Datatypes Difference Between Var, Let and Const Functions and its types Asynchronous operations in JS