konto usunięte
Temat: [C++] problem
mamy 3 klasy cChannel, cServer i cClient. pozniej definicje (niecale, tylko to co potrzebne tutaj):
class cChannel
{
public:
UINT16_T channel_id;
//
UINT8_T item;
// ...
};
//---------------------------------------------------
class cClient
{
//nic potrzebnego z definicji
public:
UINT16_T client_id;
cClient(parametry);
DWORD WINAPI ClientThread(PVOID pParam);
}
//---------------------------------------------------
class cServer
{
private:
cClient *client;
public:
UINT16_T server_id;
cChannel *channel;
//...
};
server otwiera port, czeka na polaczenie, gdy klient sie podlaczy, mamy:
client = new cClient(parametry);
if(client->initOK == TRUE)
{
CreateThread(......., client->ClientThread);
}
//...
i teraz w watku klienta - klasa cClient - chcialbym miec dostep do klasy cChannel ktora jest zdefiniowana w cServer
jak to zrobic?
dodam, ze kazda klasa ma unikatowe ID wiec cos w stylu cServer::client->item chyba nie wchodzi w rachube bo za kazdym razem trzeba by przeszukiwac wszystkie servery po identyfikatorze zeby dostac sie do konkretnego channel'a.
jedyne co mi przychodzi do glowy, to zeby w definicji cClient dodac cChannel *channel i w konstruktorze dopisac parametr zeby przekazywac wskaznik do tego channela dalej...?Tomasz Szkutkowski edytował(a) ten post dnia 03.08.11 o godzinie 18:32