begin process at 2012 05 29 08:55:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

heritage de fonctions


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

heritage de fonctions

mercredi 25 août 2004 à 19:37:15 | heritage de fonctions

jfk20004


Comment fait on lorsqu'on a definie une classe A qui herite
d'une autre B pour appeler les fonctions de la classe de base
A pour qu'elles soient utilisables dans la classe B qui
herite.
Comment faire au niveau de la prog pour ne pas melanger
les fonctions heritées de A et les nouvelles fonctions definies
dans la classe B.
ESt il possible d'avoir un bout de code le plus simple et
clair possible.MERCI BONNE PROG!
mercredi 25 août 2004 à 20:15:12 | Re : heritage de fonctions

leprov

alors....
quand tu dérive une classe Mere en une classe Fille, la classe Fille recoit de sa mere par heritage toutes les fonctions membres sauf les constructeurs, tu peux donc appeler toutes les autres fonctions. pour interdire une de ces fonctions a la classe fille, soit ds la classe fille tu met cette fonction en private, soit tu la réécris pour qu'elle ne fasse rien ou qu'elle leve une exception. a priori, il faut la mettre en private vu que cette derniere solution est plutot stupide si tu dois faire passer cette classe a quelqu'un, il sera incapable de savoir ce que tu as fait. pour qu'une fonction n'aie pas le meme comportement entre classe mere et classe fille, il faut la réécrire dans la classe fille. voila, tu sais a peu pres tt sur les comportements des fonctions héritées, en esperant que ca soit clair, et que je n'ai rien oublié ni dis de conneries
jeudi 26 août 2004 à 10:39:49 | Re : heritage de fonctions

djl

une classe dérivée hérite des méthodes et des membres de la classe de base si leur visibilité est au moins protected

si tu spécifies une methode virtuelle dans la classe de base, elle pourra etre redéfinie dans une classe fille

si cette methode virtuelle n'a pas de définition dans la classe de base (suivie de =0), la classe de base est abstraite, elle ne pourra etre hinstanciée et servira juste de model pour les classes filles

// une classe de base abstraite, c'est à dire qui ne peut
// etre hinstanciée
struct Foo_base
{
// le constructeur par defaut
Foo_base() : i(5) {}

// methode virtuelle pure qui rend la classe abstraite
virtual int bar() = 0;

protected:

int i;

};

struct Foo_derived1 : Foo_base // heritage public
{

// appel du constructeur de la classe de base
Foo_derived1() : Foo_base() {}

// methode bar definie
int bar()
{
return i;
}
};

// herite des membres et methodes de Foo_derived1
struct Foo_derived2 : Foo_derived1
{
Foo_derived2() : Foo_derived1() {}
};


int main()
{
Foo_derived2 f;

// affiche 5
std::cout << f.bar() << '\n';
}


Cette discussion est classée dans : prog, classe, fonctions, heritage, herite


Répondre à ce message

Sujets en rapport avec ce message

heritage [ par ifren ] Salut , je fais un stage, et je veux avoir une idée dite (idiomatique) pour resoudre un probleme en c++Probleme: J'ai une classe C (abstra heritage [ par ifren ] Salut , je fais un stage, et je veux avoir une idée dite (idiomatique) pour resoudre un probleme en c++Probleme: J'ai une classe C (abstra c++ -> surcharge d'ope et heritage ... [ par Alligokouax ] je suis vraiment au bord du suicide, j'ai exam dans trois jours ... et c la merdecomment peux on faire et est ce que cela existe :utiliser la surcharg Passage d'une instance d'une classe d'un prog à un autre par une shared memory [ par vinvay ] Voici la classe que j'utilise :class MsgQueue{ private: int msg_max; //Message *msgqueue; char msg[100][100]; public: int indd, indf; MsgQueue(in Classe abstraite et fonctions [ par matge ] BonjourJe possede une classe abstraite dans une librairie .h qui se nomme RTPTRANSMITTERCelle ci possede une fonction INIT(bool Threadsafe)Comment d Voilà je suis coincé sur les fonctions se situant dans la classe carnet. [ par nulmaisveutcomprendre ] Bonjour voilà comme le dit plus haut mon sujet je suis coincé sur les fonctions de la classe carnet. J'ai déjà fait le reste du code sinon. J'aimerai Utilisation de la classe CString et les fonctions associées dans une DLL [ par Warwick ] Bonjour, je souhaiterais pouvoir utiliser la classe CString dans une DLL ainsi que les fonctions du type MessageBox... Est-ce possible, car cela me g classe heritage [ par abdoulax ] Bonjours, Je suis bloqué surun probleme d'heritage, voici la problématique : Nous avons un objet soit carré, triangulaire ou rond. Mais cette objet e probleme d'heritage [ par naddoush ] salut tout le monde, j'ai deux classes: classe dialog qui herite de QDialog et classe MyWidget qui herite de QMainWindow. bon, la classe MyWidget a c Problème avec les fonctions virtuelles [ par nisaloncaje ] Salut, j'utilise dans mon programme un vector qui contient plusieurs types d'objets issus d'une meme classe (class_mere) qui est abstraite. Pour la dé


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,515 sec (4)

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