Sunday, 8 April 2018

Rules of virtual Function

1. The virtual function must be member of some class.

2. They can not be static members because virtual members is always a member of particular object in a class rather than member of class as a whole.

3. They are accessed by using object pointers.

4. A virtual function can be friend of another class.

5. A virtual function in a class must be defined even though it must not be used.

6. We can not have virtual constructor but we can have virtual destructors.

7. The keyword virtual should not be repeated in the definition if the definition occurs outside the class declaration.

8. A base class pointer can hold the address of the objects of derived classes but pointer to derived class can not hold the address of the object of base class.

#include<iostream.h>
#include<conio.h>
class base
{
public:
void display( )
{
cout<<"\nDisplay Base";
}
virtual void show( )
{
cout<<"\nShow base";
}
};
class Derived:public Base
{
public:
void display( )
{
cout<<"\nDisplay Derived";
}
void show( )
{
cout<<"\n Show derived";
}
};
void main( )
{
Base b;
Derived d;
Base *ptr;
ptr=&b;
ptr->display( );
ptr->show( );
ptr=&d;
ptr->display( );
ptr->show( );
getch( );
}

Output:-
Display Base
  Show base
Display Base
  Show derived

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 (85) R (69) Selenium Webdriver (2) Software (13) SQL (27)