Victor Bazarov
10/29/2008 5:08:00 PM
Dasuraga wrote:
> I'm rather new to the object-oriented aspects of C++, and this is the
> first time I've had to construct some classes with multiple
> inheritance. I'd rather not make a variable just to identify what type
> an object is (leading to using a case, which somewhat defeats the
> utility of derived classes). So, here's my problem. I have a couple
> classes in this layout(simplistically):
> class A{
> void f()=0;
I believe you meant
virtual void f() = 0;
> }
; // missing semicolon
> class B:virtual public A{
> void f();
> }
; // missing semicolon
> class C:virtual public A{
> void f();
> }
; // missing semicolon
> class D:virtual public A{
> void f();
> }
; // missing semicolon
> class E:virtual public B,virtual public C{};
> class F:virtual public B,virtual public D{};
>
> So, is there a way to make it so that E::f() automatically invokes
> B::f(), then C::f()( similarly for F::f())? If not, is there a better
> layout that you might be able to suggest?
What do you mean by "automatically"? Have you tried "manually"? As in
void E::f() {
B::f();
C::f();
}
void F::f() {
B::f();
D::f();
}
....
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask