#include <iostream.h>
class B
{
public:
virtual void f(); // virtual
void g(); // non-virtual
virtual void h(); // virtual
void j(); //non-virtual
};
void B::f() { cout << "B::f()\n"; }
void B::g() { cout << "B::g()\n"; }
void B::h() { cout << "B::h()\n"; }
void B::j() { cout << "B::j()\n"; }
class C : public B
{
public:
void f(); // virtual
void g(); // non-virtual
virtual void j(); // virtual
};
void C::f() { cout << "C::f()\n"; }
void C::g() { cout << "C::g()\n"; }
void C::j() { cout << "C::j()\n"; }
class D: public C
{
public:
void h(); // virtual
void j(); // virtual
};
void D::h() { cout << "D::h()\n"; }
void D::j() { cout << "D::j()\n"; }
// End of File