Files
test/virtual_inheritence.cpp
2012-12-06 21:43:03 +04:00

49 lines
425 B
C++

#include <stdio.h>
class A
{
public:
A()
{
puts( "called A::A()" );
}
A( int /*fake*/ )
{
puts( "called A::A( int )" );
}
};
class B : virtual public A
{
public:
B()
: A( 6 )
{
puts( "called B::B()" );
}
};
class C : public B
{
public:
C()
{
puts( "called C::C()" );
}
};
int main ()
{
puts( "constructing C object" );
C o;
puts( "" );
puts( "constructing B object" );
B ob;
return 0;
}