![]() ![]() ![]() | Problems solved - This program compiles. | Lecture 4 - slide 10 : 24 Program 5 |
// Inspired from page 851 of "The C++ Programming Language", 3ed version. // Accessing private_i and public_i as instance variables in Outer. #include <iostream> #include <string> class Outer{ private: int private_i; public: int public_i; class Inner{ public: void fi(Outer *p); }; }; void Outer::Inner::fi(Outer *p){ int local1 = p->private_i * 2; // g++: Access is possible despite private_i is private in Outer. int local2 = p->public_i * 3; // - same issue as in the earlier version of the program. std::cout << local1 << ", " << local2 << std::endl; } int main(){ Outer o; Outer::Inner i; i.fi(&o); }