60 lines
510 B
C++
60 lines
510 B
C++
// testProtectedVirtInheritence.cpp : Defines the entry point for the console application.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
|
|
class B;
|
|
|
|
class A
|
|
{
|
|
friend class B;
|
|
private:
|
|
A()
|
|
{
|
|
puts("A::A");
|
|
}
|
|
};
|
|
|
|
class B : public virtual A
|
|
{
|
|
public:
|
|
B()
|
|
{
|
|
puts("B::B");
|
|
}
|
|
};
|
|
|
|
class C : public B
|
|
{
|
|
public:
|
|
C()
|
|
{
|
|
puts("C::C");
|
|
}
|
|
};
|
|
|
|
class D : public B
|
|
{
|
|
public:
|
|
D()
|
|
{
|
|
puts("D::D");
|
|
}
|
|
};
|
|
|
|
class E : public C, public D
|
|
{
|
|
public:
|
|
E()
|
|
{
|
|
puts("E::E");
|
|
}
|
|
};
|
|
|
|
int _tmain(int argc, _TCHAR* argv[])
|
|
{
|
|
E o;
|
|
return 0;
|
|
}
|
|
|