begin process at 2012 05 28 08:26:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Class derivée, Surcharge, Template ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Class derivée, Surcharge, Template ???

vendredi 13 mai 2005 à 09:16:47 | Class derivée, Surcharge, Template ???

nawakator


J'ai créer 1class de Base class cTask et 2 class dériver : class cTaskA:cTask et class cTaskB:cTask;
La class de Base est virtuel;

Je les stockent dans une liste chaînées Template. J'ai déclarer TLstCh<cTask> mavariable; (TLstCh est mon template). Pour stocker les données pas de problème je peut créer plusieurs tâches de type différents ( toujours différent de la class de base) . Mais lorsque je veut récupérer les données le compilateur me dit que je ne peut pas appelé les fonctions des class dériver cTaskB ou cTaskA car pour lui le template stock des class de base cTask.


Comment utiliser la surcharge de fonction!!

Si quelqu'un pouvait m'aider sur ce point; je suis complètement perdu.!!!

Merci!!

vendredi 13 mai 2005 à 10:37:42 | Re : Class derivée, Surcharge, Template ???

ymca2003

Pour accéder aux fct de A et B il faut les déclarer virtual dans CTask car le compilo se sert de cette classe. Au runtime, ce sera la version A ou B sui sera appelée en fct de la classe réeele des objets.

dans CTask :
virtual void MaFct(); (rajoute =0 pour en faire une classe virtuelle pure, ce qui oblige les classes dérivées à implémenter cette fct)

dans A et B :
virtual void MaFct(); avec son implémenation spécifique.
vendredi 13 mai 2005 à 17:10:24 | Re : Class derivée, Surcharge, Template ???

nawakator

Meric pour ta réponse!

Ce que je ne comprends pas, c'est : quelles fonctions doivents ête mis en virtuel pure? Es-ce les fonctions commune ce trouvant dans la class de base ou toutes les fonction des cTaskA et cTaskB.
J'avais déjà essayer cette solution, mais 3 problèmes ce posent :
   1 - Si je rajoute une fonction dans une class dérivée je doit donc rajouter une fonction virtuel pur dans la class de base? du coups si une fonction est virtuel dans la class de base et que je l'implémente dans la class A, elle sera toujours virutel dans la class B!!
   2 - Le complilateur refuse d'exécuter. Lorsque je tente de récupérer une fonction d'une class dérivée il me dit que la class cTask ne connait pas les fonctions des class dérivéés ( ce qui me semble normal ! ).
   3 - Le compliteur refuse de déclarer TLstCh<cTask> car la class de base cTask et virtuel  ( ce qui me semble normal aussi !).!

Je suis sûr qu'il y a moyen de créer un liste chaîné avec différent type de class si celle-ci sont dériver d'une class de base; mais je n'arrive pas à m'en sortie!!!!


Cette discussion est classée dans : base, class, template, surcharge, ctask


Répondre à ce message

Sujets en rapport avec ce message

template [ par ifren ] salutje veux utilise une classe D utilisant une variable qui peut etre double ou string, je deirve de cette dernier deux autre class Dnum et Dstrpour Class derivée , Template ( POURQUOI ES-CE CI DIFFICILE) ??? [ par nawakator ] J'ai déjà posé cette question, mais je la repose car elle est essentiel pour mon projet!J'ai créer un template permettant de géré une liste chainé de virtual template [ par Guillemouze ] Salut, je voudrais savoir si il est possible de faire des fonctions virtuelles template. voici mon cas : class Type {     void toto(int i) {} }; clas iterator sur class template [ par istdasklar ] Bonjour,je n'arrive pas a crée des iterator sur le container d'une classe template!Je m'explique par cette exemple :#include using namespace std;templ template et l'héritage [ par imad_lol ] salut.dans mon programme je déclare 2 classe X et Y.les 2 classe sont des classes templates et Y hérite de X :template class X{ };//****************** Question syntaxe C++ [ par max12 ] Bonjour,J'ai c'est la première fois que j'utilise les template en C++ et j'ai un soucis, c'est surement quelque chose de très simple au point que vous class et fstream [ par yvesyves ] Bonjour j'ai créé la classe suivante...#include class Machin{    ...    private :        std::ifstream StreamIn;};A la compilation j'ai cette erreur s héritage & template [ par rolm ] Bonjour, J'aurai besoin d'un peu avec des tempates. En fait je voudrais créer une class qui hérite d'une class template mais d'un type donné. par e Template avec surcharge d'opérateurs [ par benjiiim94 ] Bonjour,J'essaie déséspéremment de créer une petite classe pour me familiariser avec les templates. Non sans mal j'ai obtenu un résultat pas mal jusqu template et héritage [ par cybermax62 ] j'ai un problème de fond dans ma conception. Je voudrais utiliser une classe template de base Singleton avec des classes héritées (plusieurs fois). Le


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales