Call virtual function through object pointer : object pointer « Class « C++

Home
C++
1.Bitset
2.Class
3.Console
4.Data Structure
5.Data Type
6.Deque
7.Development
8.File
9.Function
10.Generic
11.Language
12.List
13.Map Multimap
14.Overload
15.Pointer
16.Qt
17.Queue Stack
18.Set Multiset
19.STL Algorithms Binary search
20.STL Algorithms Heap
21.STL Algorithms Helper
22.STL Algorithms Iterator
23.STL Algorithms Merge
24.STL Algorithms Min Max
25.STL Algorithms Modifying sequence operations
26.STL Algorithms Non modifying sequence operations
27.STL Algorithms Sorting
28.STL Basics
29.String
30.Valarray
31.Vector
C / ANSI-C
C Tutorial
C++ Tutorial
Visual C++ .NET
C++ » Class » object pointerScreenshots 
Call virtual function through object pointer
  
#include <iostream>
using namespace std;
class base 
{
 public:
   virtual void vfunc(void)
    {
      cout << "This is base's vfunc()." << endl;
    }
};

class derived1 : public base 
{
 public:
   void vfunc(void)
    {
      cout << "This is derived1's vfunc()." << endl;
    }
};

class derived2 : public derived1 { };

int main(void)
{
   base *p, b;
   derived1 d1;
   derived2 d2;

   p = &b;        
   p->vfunc();
   p = &d1;       
   p->vfunc();
   p = &d2;       
   p->vfunc();    
 }
  
    
  
Related examples in the same category
1.Use object pointer to reference virtual method
2.Use & to get object address
3.Change the object pointer behaviour
4.Using an array of class objects
5.Use dynamic_cast to convert object pointer to its subclass
6.Need reinterpret cast to perform pointer conversion from unrelated classes
7.Need reinterpret_cast to go from pointer to int and from int to pointer
8.Need reinterpret cast to perform reference conversion from unrelated classes -- static_cast doesn't work
9.Declare object pointer
10.pointers to base class
11.Demonstrating the class member access operators . and ->
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.