Click here to Skip to main content
11,715,022 members (73,642 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: OOP
I have following class as

public abstract class BaseClass
   {
       public virtual void VirtualMethod()
       {
           Console.WriteLine("NewBaseClass:VirtualMethod");
       }
   }
 
   public class DerivedClass : BaseClass
   {
       public override void VirtualMethod()
       {
           Console.WriteLine("NewClassA:VirtualMethod");
 
       }
   }

Now i want to call base class method by creating object of DerivedClass using base keyword
Please help
Posted 4-Mar-13 1:29am
Edited 4-Mar-13 1:31am
v2
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

In your example (C++):

// Create an instance of DerivedClass
DerivedClass *dc = new DerivedClass();
 
// BTW this will work as well:
//BaseClass *dc = new DerivedClass();

// Call the method of base class
dc->BaseClass::VirtualMethod();
 
// Let' clean
delete dc;

This example shall give an output like:

>NewBaseClass:VirtualMethod
  Permalink  
v4
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

  Permalink  
Comments
du[DE] at 4-Mar-13 8:48am
   
' Give a man a fish and you feed him for a day, teach a man to fish and you feed him for life' , huh?
;)
Maciej Los at 4-Mar-13 9:09am
   
That's my motto!
And your is?
du[DE] at 4-Mar-13 9:25am
   
I'm too old to have a motto - perhaps "Too old to die young" if any ;)
Maciej Los at 4-Mar-13 9:44am
   
;)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 520
1 Richard MacCutchan 275
2 Maciej Los 259
3 ManasKumarM 155
4 Frankie-C 125
0 Sergey Alexandrovich Kryukov 775
1 CHill60 415
2 Richard MacCutchan 405
3 Maciej Los 389
4 OriginalGriff 320


Advertise | Privacy | Mobile
Web02 | 2.8.150901.1 | Last Updated 4 Mar 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100