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


