// lOp.cpp : コンソール アプリケーションのエントリ ポイントを定義します。//
#include "stdafx.h"#include <stdio.h>
class X {public: X(int a) {fprintf(stdout, "X is created. %d/n", a);}};
class Y {public: Y(int b) {fprintf(stdout, "Y is created. %d/n", b);}};
class A: public X, public Y{private: int m;public: A() : m(0), Y(1), X(2) {}
int operator++() { m++; return m; }
int operator++(int) { m--; return m; }};
class B{public: class _Pnt{ public: int x; int y; };
_Pnt m_pnt; B() { m_pnt.x = 0; m_pnt.y = 100; }};
class C : public B {public: C() {}};
class D : public C {public: D() {} int getX() { return m_pnt.x; } int getY() { return m_pnt.y; }};
int _tmain(int argc, _TCHAR* argv[]){ A a;
fprintf(stdout, "%d/n", a++);
D d; fprintf(stdout, "D: x = %d, y = %d/n", d.getX(), d.getY());
C c; fprintf(stdout, "C: x = %d, y = %d/n", c.m_pnt.x, c.m_pnt.y);
class B::_Pnt pnt; pnt.x = 10; pnt.y = 20; fprintf(stdout, "x = %d, y = %d/n", pnt.x, pnt.y);
getchar();
return 0;}
result:
X is created. 2
Y is created. 1
-1
D: x = 0, y = 100
C: x = 0, y = 100
x = 10, y = 20