Virtual methods : virtual method « Class « Visual C++ .NET

Home
Visual C++ .NET
1.2D
2.Class
3.Collections
4.Data Type
5.Database ADO.net
6.Delegate
7.Development
8.File Directory
9.Function
10.Generics
11.GUI Form
12.Language Basics
13.Network
14.Reflection
15.Security
16.Statement
17.Structure
18.Thread
19.XML
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Visual C++ .NET » Class » virtual method 
Virtual methods
 

#include "stdafx.h"
using namespace System;

ref class Animal{
public:
    virtual void Speak (){
        Console::WriteLine("Animal");
    }
};

ref class Dog : public Animal{
public:
    virtual void Speak() override{
        Console::WriteLine("Dog");
    }
};

ref class Puppy : public Dog{
public:
    virtual void Yip() = Dog::Speak
    {
        Console::WriteLine("Puppy");
    }
};

ref class Cat : public Animal{
public:
    virtual void Speak() new
    {
        Console::WriteLine("Cat");
    }
};

ref class Tiger : public Cat{
public:
  virtual void Growl() = Animal::Speak, Cat::Speak
    {
        Console::WriteLine("Tiger");
    }
};

void main()
{
    array<Animal^>^ animals = gcnew array<Animal^> 
        gcnew Animal()
        gcnew Dog()
        gcnew Puppy(),
        gcnew Cat()
        gcnew Tiger() 
   };

    for each Animal ^a in animals){
        a->Speak();
    }

    Console::WriteLine();

    Animal^ cat1 = gcnew Cat();
    Cat^  cat2   = gcnew Cat();
    Cat^  tiger  = gcnew Tiger();

    cat1->Speak();
    cat2->Speak();
    tiger->Speak();


   
  
Related examples in the same category
1.override and virtual method
2.Explicit override
3.Native managed virtual
4.new method
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.