[ create a new paste ] login | about

Link: http://codepad.org/A8EdQ0L6    [ raw code | output | fork ]

C++, pasted on Feb 19:
#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();
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Base  m :-1
Base  m :-1
Base  m :-1
Base  m :-1
===================1
Base  m :2
Base  m :2
Base  m :2
Base  m :2
===================2
Base  m :2
Base  m :2
Base  m :2
Base  m :2
===================3
Base  m :4
Base  m :4
Base  m :4
Base  m :4


Create a new paste based on this one


Comments: