[C++] : héritage multiple: comment ça marche ??

: héritage multiple: comment ça marche ?? [C++] - C++ - Programmation

Marsh Posté le 18-04-2002 à 16:29:45    

je voudrai faire un contrôle activeX qui soit capable de surchager les messages de la classe CInternetSession (plus précisement j'aimerai surcharger la fonction CInternetSession::OnStatusCallback afin d'afficher la progression d'un telechargement de fichier par exemple) qui serait traduit en évenement envoyé par le contrôle. Je crois que pour cela je dois faire un héritage multiple: mon contrôle ativeX (qui hérite de la classe COleControl) doit aussi hériter de la classe CInternetSession .
 
Or lors du IMPLEMENT_DYNCREATE(CMyActiveXCtrl, COleControl)
le compilateur que CMyActiveXCtrl::new est amigü (parce-qu'il y a plusieurs constructeurs possibles)...
 
comment dois-je faire ? peut-être y-a-t-il un moyen de se passe de l'héritage multiple en faisant suivre les messages d'une classe à une autre (en supposant que l'une possède un membre instance de l'autre et de pouvoir donc accéder à ces fonctoins, et justement peut-être à ses mesages/évenements ??).
 
merci d'avance pour votre aide :) !

Reply

Marsh Posté le 18-04-2002 à 16:29:45   

Reply

Marsh Posté le 18-04-2002 à 17:15:17    

Je ne vois pas trop l'interet de multi-hériter de CInternetSession en plus de COleControl surtout pour un callback.
Il vaut mieux sous-classer CInternetSession et procèder par agrégation de la sous-classe.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 18-04-2002 à 23:20:14    

"sous-classer" ?? "agrégatoin" ? je connais pas grand chose en C++ tu peux m'éclairer ? mon idée de départ était de créer de toute façon une classe dérivée de CInternetSession ne serait-ce que pour surcharger CInternetSession::OnSessionCallback et d'ensuite instancier cette classe dérivée dans mon contrôle activeX: mais le problme est que je ne sais pas comment fair dans pour que le callback OnSessionCallback de ma classe dérivée puisse intéragir avec mon contrôle (et lancer par exemple un évenement du contrôle genre "MyControle::FireConnected()" ).

Reply

Marsh Posté le 19-04-2002 à 09:52:59    

up !

Reply

Marsh Posté le 19-04-2002 à 11:50:51    

:bounce:

Reply

Marsh Posté le 19-04-2002 à 12:48:55    

:bounce:  :bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed