Can we have a private virtual method ?

Answers were Sorted based on User's Feedback



Can we have a private virtual method ?..

Answer / nidhi singh

no, we cann't hav private virtual method as virtual is used
in case of inheritance but private members cannot be
inherited..

Is This Answer Correct ?    10 Yes 1 No

Can we have a private virtual method ?..

Answer / rajendra gandhi

No, we can't have private vitual method.

Is This Answer Correct ?    6 Yes 2 No

Can we have a private virtual method ?..

Answer / edward

yes... we can have private virtual method and will not give
any compile time/runtime error. but there is no use of it.
we could not call the method from out side of the class

Is This Answer Correct ?    5 Yes 1 No

Can we have a private virtual method ?..

Answer / nk

We can have virtual functions as long as we dont call the
function from a base pointer pointing to the base
class/derived class.

If we call then gives error.

The same error can be tested by compiling and running above
example.

Is This Answer Correct ?    3 Yes 2 No

Can we have a private virtual method ?..

Answer / sriram

We can have the private virtual method. But it can be
accessed only through the derived class not through the
base class.

class A
{
private:
virtual void fun() { std::cout << "A::fun" <<
std::endl; }

};

class B : public A
{
public:
virtual void fun() { std::cout << "B::fun" <<
std::endl; }

};

int main(int argc, char* argv[])
{
A* pa = new A();
((B*)(pa))->fun();
}

Output : A::fun

Is This Answer Correct ?    4 Yes 3 No

Can we have a private virtual method ?..

Answer / ganesh mishra

yes... we can have private virtual method and will not give
any compile time/runtime error.but when we derive any class
from it and override the virtual function,then the compiler
will throw a compile time error.

//file name is privatever.cpp

#include <iostream>
using namespace std;

class base
{
virtual void fun()
{
cout <<"base class function"<<endl;
}

};

class derive: public base
{
public:
virtual void fun()
{
cout<<"derived class function"<<endl;
}
};

int main()
{
base *pt;
derive *der = new derive;
pt = der;
pt->fun();
return(0);
}

here is the error
privatever.cpp: In function ‘int main()’:
privatever.cpp:6: error: ‘virtual void base::fun()’ is private
privatever.cpp:27: error: within this context

Is This Answer Correct ?    2 Yes 1 No

Can we have a private virtual method ?..

Answer / narasimulu

No we can't have private virtual method

Is This Answer Correct ?    3 Yes 4 No

Can we have a private virtual method ?..

Answer / gopinath das

Yes , It we can have a private virtual method. It has
nothing to do with inheritance. It only resolve the dynamic
binding . Only difference is that , this method should be
used inside the class defination of the Base .
The derived class may implements the method either
public,private or protected.
Exa:

class A
{
virtual void x(){cout<<"A"<<endl;};
public:
};
class B:public A
{
//virtual void x(){cout<<"B"<<endl;}; // no prob
public:
virtual void x(){cout<<"B"<<endl;};
};
int main()
{
A *a;
B *b=new B;
a=b;
a->fn();
}
Out put:
B

Is This Answer Correct ?    4 Yes 7 No

Post New Answer

More OOPS Interview Questions

What is pointer in oop?

0 Answers  


Where is pseudocode used?

0 Answers  


What do you mean by abstraction?

0 Answers  


what is difference b/w object based and object oriented programming language?

18 Answers   Chaitanya, College School Exams Tests, Educomp, IBM, Infosys, Telko,


write a code for this. serial_number contained in the header of the file will be read , if this serial number is less than a previous serial number within a successfully processed file, or is the same as another serial number within a successfully processed file, or if the field contains anything other than 7 digits, then the file must error with the reason ‘Invalid SERIAL_NUMBER’.

0 Answers   Microsoft, TCS,






Have you ever interfaced with a database?

2 Answers   IBM,


What is the point of oop?

0 Answers  


Can destructor be overloaded?

0 Answers  


what is virtual function in c++

6 Answers  


Write a program to compute for numeric grades for a course. The course records are in a file that will serve as the input file. The input file is in exactly the following format: Each line contains a student's first name, then one space, then ten quiz scores all on one line. The quiz scores are in whole number and are separated by one space. Your program will take it input from this file and sends it output to a second file. The data in the output file will be exactly the same as the data in the input file except that there will be one additional number (of type double) at the end of each line. This number will be the average of the student's ten quiz scores. Use at least one function that has file streams as all or some of its arguments.

0 Answers  


Program to check whether a word starts with a capital letter or not.

1 Answers   Infosys,


What is the problem with multiple inheritance?

0 Answers  


Categories