#include <iostream>
using namespace std;
class Base{
public:
int m;
Base(){
m = -1;
}
void getM(){
cout << "Base m :" << m << endl;
}
};
class A: virtual public Base{
public:
int a;
void getA(){
cout << "A a :" << a << endl;
}
};
class B: virtual public Base{
public:
int m;
int b;
void getB(){
cout << "B b :" << b << endl;
}
};
class C:public A, public B{
};
int main() {
// your code goes here
C c;
c.m = 1;
c.getM();
c.Base::getM();
c.A::getM();
c.B::getM();
cout<<"===================1"<<endl;
c.A::m = 2;
c.getM();
c.Base::getM();
c.A::getM();
c.B::getM();
cout<<"===================2"<<endl;
c.B::m =3;
c.getM();
c.Base::getM();
c.A::getM();
c.B::getM();
cout<<"===================3"<<endl;
c.Base::m=4;
c.getM();
c.Base::getM();
c.A::getM();
c.B::getM();
}