How to call a non virtual function in the derived class by
using base class pointer

Answers were Sorted based on User's Feedback



How to call a non virtual function in the derived class by using base class pointer..

Answer / ak

It's simple.
Since in question it is asked how to call "non virtual
function in derived class" which means in derived class we
need to access non-virtual function using Base Class's pointer.

Note:
In question its no where mentioned that we cannot use
virtual function in Base class.


So in Base class same function can be made virtual and we
can use it through Base's pointer.



See eg. below:


class Base
{
public:
virtual void fun()
{
cout<<"Inside Base's fun";
}

};


class Derived : public Base
{
public:
void fun()
{
cout<<"Inside Derived's fun";
}


};



int main()
{

Base *bp = new Derived;
bp->fun();



getch();
}

Is This Answer Correct ?    4 Yes 1 No

How to call a non virtual function in the derived class by using base class pointer..

Answer / annu agrawal

This can be done by using 'base' keyword in C# language. For eg;

An abstract class is coded as follows:

abstract class AbstractDemo
{
public abstract void Habits();

public virtual void hello()
{
Console.WriteLine("Hello DerievedAbstract class,
hello()");
}

public void adddet()
{
Console.WriteLine("Hello Everybody...");
}
}

Then, I have created a derieved class of this class as:

class DerievedAbstract : AbstractDemo
{
public override void Habits()
{
Console.WriteLine("Hello DerievedAbstract class");
}

public override void hello()
{
base.adddet();
Console.WriteLine("Hello() is a function....");
}

new public void adddet()
{
Console.WriteLine("Hello Everybody....derieved
class");
}
}

In the Main() function, the object of Derieved class is
created as:

class classmain
{
public static void Main(string[] args)
{
DerievedAbstract ab = new DerievedAbstract();
ab.Habits();
ab.hello();
Console.ReadLine();
}
}

Is This Answer Correct ?    1 Yes 2 No

How to call a non virtual function in the derived class by using base class pointer..

Answer / aaa

Typecast the base pointer to derived class pointer type and
then invoke the derived class's function.

Is This Answer Correct ?    0 Yes 2 No

Post New Answer

More OOPS Interview Questions

which is platform independent device used in computers

2 Answers  


Define a class to represent a bank account. Include the following members: Data Members: Name of the Depositor Account Number Type of Account Balance amount in the account Member Functions: To assign the initial values. To deposit an account. To withdraw an amount after checking the balance. Write a C++ main program to display account number, name and balance.

6 Answers  


define oops with class and object

5 Answers   HCL, Tech Mahindra,


What is class and example?

0 Answers  


What is the main difference between C++ and Java

11 Answers   TCS,






what is virtual function?

3 Answers  


What are the benefits of oop?

0 Answers  


What is the fundamental idea of oop?

0 Answers  


What is polymorphism explain its types?

0 Answers  


Why oops is important?

0 Answers  


write a function that takes an integer array as an input and finds the largest number in the array. You can not sort array or use any API or searching needs?

2 Answers   IBMS, Zycus Infotech,


What is encapsulation selenium?

0 Answers  


Categories