// test conversions from derived to base using
// non-public base classes
class B
{
public:
int i;
};
class T : protected B
{
public:
void foo();
};
void T::foo()
{
T t;
B *p = &t; // ok, B accessible
}
class V : private B
{
public:
void bar();
};
void V::bar()
{
V v;
B &r = v; // ok, B accessible
}
int main()
{
T t;
V v;
B *p = &t; // error, B not accessible
// base of T
B &r = v; // error, B not accessible
// vase of V
return 0;
}
/* End of File */