Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!bionet!agate!ucbvax!hplabs!hp-pcd!hplsla!jima From: jima@hplsla.HP.COM (Jim Adcock) Newsgroups: comp.lang.c++ Subject: Re: Can't inherit abstract classes -> pain and suffering Message-ID: <6590233@hplsla.HP.COM> Date: 21 Aug 89 22:37:41 GMT References: <1989Aug21.132230.17200@odi.com> Organization: HP Lake Stevens, WA Lines: 89 // try: class base { public: int s; virtual int pred () = 0; }; class mix { public: virtual int pred () { return 1; }; }; class mix0 { public: virtual int pred () { return 0; }; }; class top : public base, public mix { public: virtual int pred () { return (mix::pred()); }; }; class top0 : public base, public mix0 { public: virtual int pred () { return (mix0::pred()); }; }; int Q; main () { top t; Q = t.pred(); } // or try: class base { public: int s; virtual int pred () = 0; }; class mix { public: virtual int pred () { return 1; }; }; class mix0 { public: virtual int pred () { return 0; }; }; class top : public base, public mix { public: virtual int pred () { return ((mix*)(this))->pred(); }; }; class top0 : public base, public mix0 { public: virtual int pred () { return ((mix0*)(this))->pred(); }; }; int Q; main () { top t; Q = t.pred(); }