How would you stop a class from class from being derived or
inherited?The constructer should not be Private,as object
instantiation should be allowed.
Answer Posted / vikas
Kamma's answer is right. Here is the explanation:
First a brush of some C++ concepts:
1. In virtual inheritance, the most derived class calls the
virtual base class' c'tor/d'tor.
2. The class declared as 'friend class' can access the
private member functions of a class.
In A a; A' compiler tries to call A::A(), since its declared
as public its called. Now A::A() requires to call its parent
class's c'tor which although private but is able to be
called[1 above].
In C c; C::C() calls B::B()[2 above].
C being a non friend class can't access B::B() which is private.
More at:
http://www.cppquestions.com/viewtopic.php?f=33&t=25
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
Which one is better- macro or function?
What is ios flag in c++?
Is atoi safe?
How is data hiding achieved in c++?
Are strings immutable in c++?
What is the use of setfill in c++?
What is the difference between structures and unions?
Is c++ platform dependent?
How do you declare a set in c++?
Do class declarations end with a semicolon?
What are member functions used in c++?
If a header file is included twice by mistake in the program, will it give any error?
Can you pass an array to a function in c++?
What are multiple inheritances (virtual inheritance)?
How static variables and local variablesare similar and dissimilar?