Cpp クラス メンバ変数ポインタ 新しいページはコチラ
提供: yonewiki
(→クラス メンバ変数ポインタ) |
(→クラス メンバ変数ポインタ) |
||
50行: | 50行: | ||
void CMemberPVal::CMemberPVal(int iArgData){ | void CMemberPVal::CMemberPVal(int iArgData){ | ||
− | void *pfuncSet = &CMemberPVal::SetData(int); | + | void* CMemberPVal::pfuncSet(int); |
− | pfuncSet(iArgData); | + | pfuncSet = &CMemberPVal::SetData(int); |
+ | this->*pfuncSet(iArgData); | ||
} | } | ||
void CMemberPVal::Set(int iArgData){ | void CMemberPVal::Set(int iArgData){ | ||
− | int* m_piData = &CMemberPVal::m_iData; | + | int* CMemberPVal::m_piData; |
− | *m_piData = iArgData; | + | m_piData = &CMemberPVal::m_iData; |
+ | this->*m_piData = iArgData; | ||
} | } | ||
int CMemberPVal::Get(){ | int CMemberPVal::Get(){ | ||
73行: | 75行: | ||
こんな感じかな。使い方はメンバ関数ポインタと同じですね。Setというメンバ関数の中で、m_iDataというメンバ変数をあえてm_piDataというポインタ変数で参照して、引数に受け取ったiArgDataを代入しています。コンストラクタの方にはメンバ関数をメンバ関数ポインタでSetという関数を参照して、コンストラクタ引数を設定するように呼び出しています。 | こんな感じかな。使い方はメンバ関数ポインタと同じですね。Setというメンバ関数の中で、m_iDataというメンバ変数をあえてm_piDataというポインタ変数で参照して、引数に受け取ったiArgDataを代入しています。コンストラクタの方にはメンバ関数をメンバ関数ポインタでSetという関数を参照して、コンストラクタ引数を設定するように呼び出しています。 | ||
− | |||
== '''109行目(CMmberPVal.cppプログラムファイル部)'''== | == '''109行目(CMmberPVal.cppプログラムファイル部)'''== |