#include <iostream>
using namespace std;

class A
{
public:
    int x;
    int y;
    virtual int add() = 0;
};

class B
{
public:
    int a;
    int b;
    virtual int sub() = 0;
};

class C : public A, public B
{
public:
    C() { x = 1; y = 2; z = 3; a = 4; b = 5; c = 6; }
    int c;
    int z;
    virtual int add() { return a + z; }
    virtual int sub() { return c - x; }
    int mul() { return b * y; };
};

int main()
{
    A *p = new C;
    cout << p->add() << endl;
    cout << ((B *)p)->sub() << endl;
    cout << ((C *)p)->mul() << endl;
}
