私は現在C++を学んでいますが、今回はポインターをいじり、thisポインターとポリモーフィズムを研究していました。私の質問は、以下の変換は安全ですか、基本的には「公開」のためにクラスからm_uConnectedUsers直接アクセスできることを知っていCUserますが、それが必要になる場合があります。あなたの専門家の意見を知りたいです。それ。
#include <windows.h>
#include <iostream>
using namespace std;
class CUserCounter
{
public:
    CUserCounter();
    virtual ~CUserCounter(){};
    BOOL m_bEmpty;
    u_long m_uConnectedUsers;
};
CUserCounter::CUserCounter()
{
    m_bEmpty = TRUE;
    m_uConnectedUsers = 0;
}
class CUser : public CUserCounter
{
public:
    CUser(LPCTSTR szName, BOOL bConnected, BOOL bChatting = FALSE );
    virtual ~CUser(){};
    BOOL m_bConnected;
    BOOL m_bIsChatting;
    TCHAR szCharName[32];
    bool IncreaseMoverMeter( unsigned uMeters );
};
CUser::CUser( LPCTSTR szName, BOOL bConnected, BOOL bChatting )
{
    if( szName )
    {
        if( strlen( szName ) > 30 )
            strcpy( szCharName, "Invalid" );
        else
            strcpy( szCharName, szName );
    }
    m_bConnected = bConnected;
    m_bIsChatting = bChatting;
}
bool CUser::IncreaseMoverMeter( unsigned uMeters )
{
    //is it safe? how does it works
    CUserCounter* pUserCounter = (CUserCounter*)this;
    if( pUserCounter )
    {
        pUserCounter->m_uConnectedUsers++;
        return true;
    }
    return false;
}
int main( int argc, char *argv[] )
{             
    CUser *pUser = new CUser( "Jonh", FALSE );
    std::cout << pUser->IncreaseMoverMeter( 4 );
    system("pause>nul");
    return EXIT_SUCCESS;
}