mikeb@ee.ubc.ca (Mike Bolotski) (11/15/89)
Why is the constructor for Beta prohibited from using the Alpha constructor? Is it a tightening of the privacy mechanism in 2.0? Code similar to that below compiled fine using 1.35.1. Script started on Tue Nov 14 22:11:35 1989 coho{mikeb}68: g++ -v gamma.cc gcc version 1.36.1 (based on GCC 1.36) /usr/local/lib/gnu/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 gamma.cc /usr/tmp/cca18626.cpp GNU CPP version 1.36 /usr/local/lib/gnu/gcc-cc1plus /usr/tmp/cca18626.cpp -quiet -dumpbase gamma.cc -version -o /usr/tmp/cca18626.s GNU C++ version 1.36.1 (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. default target switches: -m68020 -mc68020 -m68881 -mbitfield gamma.cc: In method Beta::Beta (const class Beta &): gamma.cc:16: type `Beta' is derived from private `Alpha' coho{mikeb}69: cat gamma.cc class Alpha { int x; public: Alpha(int); Alpha(const Alpha&); }; class Beta: private Alpha { int y; public: Beta(const Beta&); }; Beta::Beta(const Beta& b) : Alpha(b) {} coho{mikeb}70: exit exit script done on Tue Nov 14 22:12:10 1989