スレを勃てるまでもないC/C++の質問はここで 20at TECH
スレを勃てるまでもないC/C++の質問はここで 20 - 暇つぶし2ch9:つづき
11/09/21 08:06:20.37
class Message {
SOCKET _dst_socket;
COMMAND _command;
public:
// コンストラクタ、デストラクタ、セッタ、ゲッタ
...
virtual int sizeOf() cosnt { return sizeof( *this ); }
};

class TextMessage : public Message {
char _text[ 16 ];
public:
// コンストラクタ、デストラクタ、セッタ、ゲッタ
...
virtual int sizeOf() const { return sizeof( *this ) }
};

class Server{ ... };
bool Server::send( SOCKET dst_socket, const Message& msg ) {
if( ::send( dst_socket, (char*) &msg, msg.sizeOf(), 0 ) != SOCKET_ERROR ) // このへんで sizeOf() を呼ぶとエラー。sizeof( TextMessage ) とかだとOK
}

class Tester {
public:
static void test( const Message& msg ) { cout << msg.sizeOf() << endl; }
};

int main() {
TextMessage tmsg;
Tester::test( tmsg ); // これはOK
...
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch