Sunday, 8 April 2018

Pure Virtual Function

It is normal practice to declare a function virtual inside the base class and redefine it in the derived classes. The function inside the base class is rarely used for performing any particular task.

It only serves as a place holder. A pure virtual function is a type of the function which has only one function declaration. It does not have the function definition. 

A pure virtual function can be declared in two different ways.
 1. A virtual function does not contain a body
      Ex virtual void getdata( )
{

}
 2. A virtual function may be equated to zero in the function declaration itself
    Ex virtual void getdata( ) = 0;

Above function are called pure virtual function. A pure virtual function is a function declared in a base class that has no definition relative to the base class. In such cases , the compiler requires each derived class to either define the function or re-declare it is a pure virtual function.

Those function which are only declared but not defined in the base class are called pure virtual function.

Program to demonstrate the pure virtual function

#include<conio.h>
#include<iostream.h>
class A
{
public:
virtual void getdata( )
virtual void putdata( )=0;
};
class B : public A
{
public:
void getdata( )
{
cout<<"\n\t This is B class getdata( )";
}
void putdata( )
{
cout<<"\n\t This is B class putdata( )";
}
};
void main( )
{
clrscr( );
A *ptr;
B b;
b.getdata( );
b.putdata( );
ptr=&b;
ptr->getdata( );
ptr->putdata( );
getch( );
}

Output:-
This is B class getdata( )
This is B class putdata( )
This is B class getdata( )
This is B class putdata( )

1 comment:

Popular Posts

Categories

Android (21) AngularJS (1) Books (3) C (75) C++ (81) Data Strucures (4) Engineering (13) FPL (17) HTML&CSS (38) IS (25) Java (85) PHP (20) Python (83) R (68) Selenium Webdriver (2) Software (13) SQL (27)