Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
957 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C++]Transformer un objet en un autre objet qui en hérite

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Transformer un objet en un autre objet qui en hérite

n°960496
Bleuarff
pouet
Posté le 24-01-2005 à 10:46:18  profilanswer
 

(le sujet est ptet pas clair :o)
Voila mon problème: j'utilise un tcpListener qui fait un AcceptTcpClient, méthode qui renvoit un pointeur vers un TcpClient. Ce que j'aimerais, c'est transformer ce truc pour pouvoir utiliser ce TcpClient au sein de ma classe CClient qui hérite de TcpClient. Je sais pas si c'est possible, c'est probablement une grosse connerie, mais ça m'arrangerait vachement. Quelqu'un peut-il m'éclairer ?

Code :
  1. while ( !quitter && (nbClient<MAX_CLIENTS) )//verif du nombre max de clients
  2. {
  3.  TcpClient *client = this->AcceptTcpClient();//methode bloquante
  4.  nbClient++;//maj du nombre de clients connectés
  5.  //TODO: initialisation d'un CClient a partir du TcpClient
  6.  //TODO: creation et lancement d'un thread dédié au client
  7. }


 

Code :
  1. __gc class CClient : public TcpClient
  2. {
  3. //blablabla...
  4. };


---------------
©2008 Bleuarff Corp.
mood
Publicité
Posté le 24-01-2005 à 10:46:18  profilanswer
 

n°960643
bjone
Insert booze to continue
Posté le 24-01-2005 à 13:09:37  profilanswer
 

pour moi, ton TcpClient est crée par AcceptTcpClient(), donc non.
 
tu pourrais tenter de construire par recopie un CClient à partir d'un TcpClient, mais c'est pas sûr que ce soit sain.
 
il serait plus simple (et logique pour moi en tous cas) de maintenir le TcpClient crée par AcceptTcpClient, via un TcpClient * dans ton CClient. (voir idéalement un auto_ptr<> ou autre)
 
ie ton object CClient maintient l'état & infos de la communication "Application" avec ton client, et maintient aussi la connection en elle-même. (TcpClient)
 
non, me gourje ?


Message édité par bjone le 24-01-2005 à 13:10:23
n°960868
Bleuarff
pouet
Posté le 24-01-2005 à 16:33:34  profilanswer
 

Ouaip, vu que j'ai pas la moindre idée sur comment faire le constructeur par recopie, j'ai enlevé l'héritage et mis un TcpClient en variable membre. Yavait pas grand chose d'autre à modifier dans le code, et ça semble marcher :bounce: .


---------------
©2008 Bleuarff Corp.
n°960873
bjone
Insert booze to continue
Posté le 24-01-2005 à 16:38:01  profilanswer
 

oki, vérifies la logique de la vie du TcpClient* par rapport à la destruction/recopie/assignement, et t'auras un truc blindar


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C++]Transformer un objet en un autre objet qui en hérite

 

Sujets relatifs
Comment faire un timeout sur un objet TcpListener ?supprimer un objet d'un array [resolu]
[c] transformer une chaine en entierprocédure avec renvoi de tableau d'objet
parcours d'objetliste d'objet et sort
Désactiver la procédure click d'un objet[VB.NET] Datagrid, DataGridTableStyle et objet collection
enregister un objet dans un fichierobjet out en jsp
Plus de sujets relatifs à : [C++]Transformer un objet en un autre objet qui en hérite


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR