C++ Tutorial





Español Français 中文 Deutsch Portuguese Japanese nederlands
   
 
C++ Tutorial
C++ Language Tutorial - Object Oriented Programing - OOPs History of C++
C++ Language Tutorial - Object Oriented Programing - OOPs Structure of C++
C++ Language Tutorial - Object Oriented Programing - OOPs C++ Datatypes
C++ Language Tutorial - Object Oriented Programing - OOPs Variables
C++ Language Tutorial - Object Oriented Programing - OOPs Constants
C++ Language Tutorial - Object Oriented Programing - OOPs Operators
C++ Language Tutorial - Object Oriented Programing - OOPs Control Structures
C++ Language Tutorial - Object Oriented Programing - OOPs Arrays
C++ Language Tutorial - Object Oriented Programing - OOPs Functions
C++ Language Tutorial - Object Oriented Programing - OOPs Class
C++ Language Tutorial - Object Oriented Programing - OOPs Predefined Functions
C++ Language Tutorial - Object Oriented Programing - OOPs I/O Functions
C++ Language Tutorial - Object Oriented Programing - OOPs String, Character Functions
C++ Language Tutorial - Object Oriented Programing - OOPs Mathematical Functions
C++ Language Tutorial - Object Oriented Programing - OOPs Time Date Functions
C++ Language Tutorial - Object Oriented Programing - OOPs Dynamic Allocation
C++ Language Tutorial - Object Oriented Programing - OOPs Utility Functions
C++ Language Tutorial - Object Oriented Programing - OOPs OOP's Concept
C++ Language Tutorial - Object Oriented Programing - OOPs Special Topics
C++ Language Tutorial - Object Oriented Programing - OOPs Type casting
C++ Language Tutorial - Object Oriented Programing - OOPs Feedback
C++ Language Tutorial - Object Oriented Programing - OOPs Ask Your Doubts
 





Virtual Functions


Tutorials Cpp

Topic

What is Virtual Functions in C++?



Explanation

Virtual Function is a function that is declared within a base class and redefined in the derived class. Virtual functions are declared by preceding the class declaration with a keyword "virtual". When a virtual function is declared C++ decides to execute a function based on the type of object pointed by the base pointer and not on the type of pointer.

Example:

#include <iostream.h>
class Bclass
  {
    public:
       void  disp() { cout  << " BASE BASE\n" ; }
       virtual void sh() { cout << "base base\n"; }
  };
class Dclass : public Bclass
  {
    public:
      void disp() { cout << "DERIVED DERIVED\n"; }
      void sh() { cout << "derived derived\n"; }
  };
int main()
  {
     
     Bclass B;
     Dclass D;
     Bclass *ptr;
     
     cout << "ptr points to base class\n" ;
     ptr =  &B;
     ptr->disp();
     ptr->sh();
   
     cout << "ptr points derived class\n";
     ptr = &D;
     ptr->disp();
     ptr->sh();
     return 0;
  }

Result:
   ptr points to base class
   BASE BASE
   base base
   ptr points derived class
    BASE BASE
   derived derived

In the above example, the base ptr is used point the object D. Since the "sh()" function has a derived version in the form of a virtual function, it displays the base class version of "sh()".








Note
C++ is one of the most used programming languages in the world. Also known as "C with Classes". Hope you enjoy this tutorial. Do send your feedback or suggestions on this C++ tutorial. This is a copyright content.

Other Links

web hosting