Using virtual methods : derived class « Class « C++ Tutorial

Home
C++ Tutorial
1.Language Basics
2.Data Types
3.Operators statements
4.Array
5.Development
6.Exceptions
7.Function
8.Structure
9.Class
10.Operator Overloading
11.Pointer
12.File Stream
13.template
14.STL Introduction
15.string
16.vector
17.list
18.bitset
19.set multiset
20.valarray
21.queue stack
22.deque
23.map multimap
24.STL Algorithms Modifying sequence operations
25.STL Algorithms Non modifying sequence operations
26.STL Algorithms Binary search
27.STL Algorithms Sorting
28.STL Algorithms Merge
29.STL Algorithms Min Max
30.STL Algorithms Iterator
31.STL Algorithms Heap
32.STL Algorithms Helper
C / ANSI-C
C Tutorial
C++
Visual C++ .NET
C++ Tutorial » Class » derived class 
9.18.7.Using virtual methods
#include <iostream>
 
 class Animal
 {
 public:
     Animal():itsAge(1) { std::cout << "Animal constructor...\n"}
     ~Animal() { std::cout << "Animal destructor...\n"}
     void Move() const std::cout << "Animal move one step\n"}
     virtual void Speak() const std::cout << "Animal speak!\n"}
 
 protected:
     int itsAge;
 };
 
 class Dog : public Animal
 {
 public:
     Dog() { std::cout << "Dog constructor...\n"}
     ~Dog() { std::cout << "Dog destructor...\n"}
     void WagTail() { std::cout << "Wagging Tail...\n"}
     void Speak()const std::cout << "Woof!\n"}
     void Move()const std::cout << "Dog moves 5 steps...\n"}
 };
 
 int main()
 {
     Animal *pDog = new Dog;
     pDog->Move();
     pDog->Speak();
     return 0;
 }
Animal constructor...
Dog constructor...
Animal move one step
Woof!
9.18.derived class
9.18.1.Add a constructor to derived class
9.18.2.Call base's constructor and destructor from derived class
9.18.3.Access member of base and use member of derived class
9.18.4.Overriding a base class method in a derived class
9.18.5.Hiding methods
9.18.6.Calling base method from overridden method.
9.18.7.Using virtual methods
9.18.8.Inherit base class twice
9.18.9.dynamic_cast: Cast from Derived * to Base *
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.