親クラスのstaticな変数の扱い
1:0th track@mixi:2009/05/04(月) 09:01:00
C++でスタティックなメンバ変数だったり、 スタティックなローカル変数を持つメソッドを
持つクラスを継承した場合は・・・
========================================
サンプルソース
----------------------------------------
class CParent
{
public:
static int m_nNum;
int Show()
{
static int i;
return ++i;
}
};
int CParent::m_nNum = 0;
class CChild : public CParent
{
};
int main()
{
CParent parent;
CChild child;
printf("%d\n", ++CParent::m_nNum);
printf("%d\n", ++CChild::m_nNum);
printf("%d\n", parent.Show());
printf("%d\n", child.Show());
}
========================================
結果
----------------------------------------
1
2
1
2
========================================
継承した先でも同じ変数を参照することになる。
もちろん継承した先でオーバーライドすれば
別の変数を参照することになる。
<<前の5件 | ぜろろん雑記(開発中)TOP | 次の5件>>
コメントはまだありません。
このブログシステムはまだ開発中です。
コメントフォームが表示されていても書き込むことはできません。