C++嵌套类的例子。里面还有operator++前后缀重载,public,protect,private继承的例子。
// lOp.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <stdio.h>
class A{
private:
int m;
public:
A() : m(0) {}
int operator++() {
m++;
return m;
}
int operator++(int) {
m--;
return m;
}
};
class B{
public:
class _Pnt{
public:
int x;
int y;
};
protected:
_Pnt m_pnt;
B() { m_pnt.x = 0; m_pnt.y = 100; }
};
class C : protected 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, "x = %d, y = %d/n", d.getX(), d.getY());
class B::_Pnt pnt;
pnt.x = 10;
pnt.y = 20;
fprintf(stdout, "x = %d, y = %d/n", pnt.x, pnt.y);
getchar();
return 0;
}