1 // { dg-do assemble } 2 // GROUPS passed visibility 3 // visibility file 4 // From: joe@consolve.com (Joe Shapiro) 5 // Date: Fri, 20 Aug 93 17:18:18 EDT 6 // Subject: Template classes seem to allow users to get at private members 7 // Message-ID: <9308202118.AA25599@ghana.consolve> 8 /* 9 * private.cc 10 */ 11 extern "C" int printf (const char *, ...); 12 13 template <class T> 14 class A 15 { 16 public: Fun()17 void Fun() { printf( "Fun fun fun!\n" ); } // { dg-message "" } private 18 }; 19 20 21 template <class T> 22 class B: private A<T> 23 { 24 }; 25 26 27 class C 28 { 29 public: C()30 C() { _b.Fun(); }// { dg-error "" } .* 31 32 private: 33 B<int> _b; 34 }; 35 36 main()37int main() 38 { 39 C c; 40 } 41