| 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);
}