class A
{
public:
int x;
protected:
int y;
private:
int z;
};
class B : public A
{
// x is public
// y is protected
// z is not accessible from B
};
class C : protected A
{
// x is protected
// y is protected
// z is not accessible from C
};
class D : private A
{
// x is private
// y is private
// z is not accessible from D
};
Код с ответами, но если убрать комментарии, то можно спрашивать на собеседовании. Ещё интересные моменты: размер класса D такой же как у A, порядок элементов x, y и z не гарантируется (т.е. не факт что &x < &y < &z).