class base
{
public:
int i1;
private:
int i2;
int i3;
int i4;
public:
void f1();
private:
void f2();
public:
void f3();
void f4();
};
class derived : public base
{
public:
int i3;
private:
int i4;
public:
void f3(int);
private:
void f4(int);
};
int main()
{
derived d;
d.i1; // OK
d.i2; // error
d.i3; // OK
d.i4; // error
d.f1(); // OK
d.f2(); // error
d.f3(); // error
d.f3(3); // OK
d.f4(); // error
d.f4(4); // error
}
End of Listing