Class
{
Public:
Int;
PRIVATE:
Int B;
Protected:
Int C;
};
//
// public inheritance:
//-data access type not change
//-B cannot access a's private member
///
Class B: public a
{< br> Public:
void test ()
{< br> A = 1;
/B = 1; // fail
C = 1;
}< BR> };
//
// protected inheritance:
//-data access type: public-> protected
//-C cannot access a's private member
///
Class C: Protected A
{< br> Public:
void test ()
{< br> A = 1;
/B = 1; // fail
C = 1;
}< BR> };
//
// Private inheritance:
//-Data access type: public, protected-> private
//-D cannot access a's private member
//
Class D: Private
{
Public:
Void test ()
{
A = 1;
// B = 1; // fail
C = 1;
}
};
Class E: Public C
{
Public:
Void test ()
{
A = 1;
// B = 1;
C = 1;
}
};
Class F: Public d
{
Void test ()
{
// A = 1;
// B = 1;
// C = 1;
}
};
Int main ()
{
{
B;
B. Test ();
B. A = 1;
// B. B = 1;
// B. C = 1;
}
{
C B;
B. Test ();
// B. A = 1;
// B. B = 1;
// B. C = 1;
}
{
D B;
B. Test ();
// B. A = 1;
// B. B = 1;
// B. C = 1;
}
{
E B;
B. Test ();
// B. A = 1;
// B. B = 1;
// B. C = 1;
}
}