Article View: gnu.gcc.bug
Article #70Odd multiple inheritance behaviour
From: smedley
Date: Tue, 03 Nov 1992 07:13
Date: Tue, 03 Nov 1992 07:13
47 lines
1525 bytes
1525 bytes
% gcc -v
Reading specs from
/usr/local/lib/gcc-lib/hppa1.0-hp9k835-hpux8.0/2.2.2/specs
gcc version 2.2.2
% cat multiple.C
#include <iostream.h>
class foo {
public:
foo(int i) {k = i;}
protected:
int k;
};
class bar_1 : public foo {
public:
bar_1(int i) : foo(i) {}
int get_k() {return k;}
};
class bar_2 : public foo {
public:
bar_2(int i) : foo(i) {};
int get_k() {return k;}
};
class multiple : public bar_1, public bar_2 {
public:
multiple(int i1, int i2) : bar_1(i1), bar_2(i2) {}
void print() {
cout << "bar_1::k -> " << bar_1::k << "\n";
cout << "bar_2::k -> " << bar_2::k << "\n";
cout << "bar_1::get_k() -> " << bar_1::get_k() << "\n";
cout << "bar_2::get_k() -> " << bar_2::get_k() << "\n";
}
};
main() {
multiple m(1,2);
m.print();
}
% g++ multiple.C
% a.out
bar_1::k -> 1
bar_2::k -> 1 ****** Should be 2
bar_1::get_k() -> 1
bar_2::get_k() -> 2
Technical Details
Message-ID:
<9211031513.AA14345@life.ai.mit.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!ferkel.ucsb.edu!taco!rock!concert!uvaarpa!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!newton.ccs.tuns.ca!smedleyShow Full Headers
Complete Article Headers
Newsgroups: gnu.gcc.bug Path: arc1-ca.pugleaf.net!sparky!uunet!ferkel.ucsb.edu!taco!rock!concert!uvaarpa!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!newton.ccs.tuns.ca!smedley From: smedley@newton.ccs.tuns.ca Subject: Odd multiple inheritance behaviour Message-ID: <9211031513.AA14345@life.ai.mit.edu> Sender: gnulists@ai.mit.edu Organization: GNUs Not Usenet Distribution: gnu Date: Tue, 3 Nov 1992 07:13:22 GMT Approved: bug-gcc@prep.ai.mit.edu Lines: 49