: héritage multiple: comment ça marche ?? [C++] - C++ - Programmation
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.
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()" ).
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 !