49 lines
425 B
C++
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;
|
|
}
|
|
|