begin process at 2012 05 30 07:28:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Question sur l'heritage et classes


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

Question sur l'heritage et classes

dimanche 8 juin 2003 à 02:34:45 | Question sur l'heritage et classes

Darkneon

Salut,

J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?

Par exemple :


#include <iostream.h>

class A
{
protected:
int num;
public:
void SetNum(int tNum)
{ num = tNum; }
};

class B : public A
{
public:
void PrintA()
{ cout << num; }
};

class C : public A
{
public:
void PrintA()
{ cout << num; }
};

void main()
{
B b;
C c

b.SetNum(34);
b.PrintA();
c.PrintA();
}



Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.

Merci d'avance

P.S J'utilise Turboe C++ 3.0
dimanche 8 juin 2003 à 10:29:04 | Re : Question sur l'heritage et classes

Kaid

Salut,

Non car la modification se fait sur l'instance d'un objet. Cette instance ne sait absolument pas combien d'instances du même objet existent en mémoire.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?
>
> Par exemple :
>
>

> #include <iostream.h>
>
> class A
> {
> protected:
> int num;
> public:
> void SetNum(int tNum)
> { num = tNum; }
> };
>
> class B : public A
> {
> public:
> void PrintA()
> { cout << num; }
> };
>
> class C : public A
> {
> public:
> void PrintA()
> { cout << num; }
> };
>
> void main()
> {
> B b;
> C c
>
> b.SetNum(34);
> b.PrintA();
> c.PrintA();
> }
>
>

>
> Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.
>
> Merci d'avance
>
> P.S J'utilise Turboe C++ 3.0
dimanche 8 juin 2003 à 17:59:07 | Re : Question sur l'heritage et classes

dordark





-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Non car la modification se fait sur l'instance d'un objet. Cette instance ne sait absolument pas combien d'instances du même objet existent en mémoire.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?
> >
> > Par exemple :
> >
> >

> > #include <iostream.h>
> >
> > class A
> > {
> > protected:
> > int num;
> > public:
> > void SetNum(int tNum)
> > { num = tNum; }
> > };
> >
> > class B : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > class C : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > void main()
> > {
> > B b;
> > C c
> >
> > b.SetNum(34);
> > b.PrintA();
> > c.PrintA();
> > }
> >
> >

> >
> > Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.
> >
> > Merci d'avance
> >
> > P.S J'utilise Turboe C++ 3.0
>
lundi 9 juin 2003 à 14:38:49 | Re : Question sur l'heritage et classes

Darkneon

Salut,

Ce ne pas grave, j'ai reussi a contourner le probleme. J'ai mis un pointeur (wow, pour la premiere fois je leurs aient trouver une utilisation, tout un exploit!) dans la class et je lui attribut une variable lors de ca creation. Ca marche, j'ai le resultat voulu.


-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Non car la modification se fait sur l'instance d'un objet. Cette instance ne sait absolument pas combien d'instances du même objet existent en mémoire.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?
> >
> > Par exemple :
> >
> >

> > #include <iostream.h>
> >
> > class A
> > {
> > protected:
> > int num;
> > public:
> > void SetNum(int tNum)
> > { num = tNum; }
> > };
> >
> > class B : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > class C : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > void main()
> > {
> > B b;
> > C c
> >
> > b.SetNum(34);
> > b.PrintA();
> > c.PrintA();
> > }
> >
> >

> >
> > Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.
> >
> > Merci d'avance
> >
> > P.S J'utilise Turboe C++ 3.0
>


Cette discussion est classée dans : public, void, num, classes, printa


Répondre à ce message

Sujets en rapport avec ce message

classe et agregation... [ par Clonk ] bonjour,j'utilise plusieurs classes ayant des agregations (sous Borland).Disons en gros que si on a :class personne{private:int age;public:void affich Classes et heritage [ par Darkneon ] Allo a tous,J'ai deux classes comme suitclass ClassA {private:char *a1;char *a2;public:void FuncA();};class ClassB : public ClassA {private:char *b1;c OpenGL + wxWIDGETS = galére ??????? [ par satellite34 ] bonjour,j'essaye d'utiliser openGl avec wxWidgets et franchement je me rends dingue.j'ai mis les wxUSE_GLCANCAS a 1 dans les fichiers setup.h, recompi Template & héritage [ par fahim ] J'ai encorevun problème avec mes templates. Aprés avoir défini l'héritage d'une classe à partir de la classe template. class CMD5:<FON push_back [ par rems38 ] bonjour,j'ai un programme visual ds lequel il y a :"MixArrayCurr->push_back(*new  TMIX(mixcurr))"cette instruction devait remplacer une autre faite so probleme de sérialisation d'une CList. [ par bwoufy86 ] Voila je developpe une petit base en c++ ou je veux mémoriser une liste chainées ( CList) mais j'ai des soucis dans la sérialisation.Je n'arrive pas a /* * Classe CWindow */ template <typename T> class CWindow: public CSingleton<T> { private: protected: GtkWidget* pwindow; public: CWindow(); void init(void); Warning de compilation - méthodes virtuelles [ par neodelphi ] Bonjour tout le monde, Je suis en train de coder une classe et j'ai besoin de définir une méthode virtuelle pure. Ma première question est quelle est Probleme URGENT (merci) [ par MATHIS49 ] Bonjour , j'ai un gros probleme, j'aimerais savoir pourquoi jai un probleme avec ma methode virtuel lors de la compilation  !Mon script :///////////// probleme cpp class [ par leroiloup ] ce programme ne m'affiche rient#include#include#includeusing namespace std;class Ahmed{      public:         Ahmed(){};             virtual void a


Nos sponsors


Sondage...

Comparez les prix

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 : 4,462 sec (3)

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