code_junkie

Accessing protected members from subclasses: gcc vs msvc

Nov 11th, 2011
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. template <class T>
  2. class A{
  3. protected:
  4. T i;
  5. };
  6.  
  7. template <class T>
  8. class B : public A<T>{
  9. T geti() {return i;}
  10. };
  11.  
  12. template <class T>
  13. class B : public A<T>{
  14. T geti() {return A<T>::i;}
  15. };
  16.  
  17. template <typename T> struct B {
  18. int m;
  19. int n;
  20. int f ();
  21. int g ();
  22. };
  23. int n;
  24. int g ();
  25. template <typename T> struct C : B<T> {
  26. void h ()
  27. {
  28. m = 0; // error
  29. f (); // error
  30. n = 0; // ::n is modified
  31. g (); // ::g is called
  32. }
  33. };
  34.  
  35. template <typename T> void C<T>::h ()
  36. {
  37. this->m = 0;
  38. this->f ();
  39. this->n = 0
  40. this->g ();
  41. }
Add Comment
Please, Sign In to add comment