Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1941 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Conception objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conception objet

n°483831
Giz
Posté le 11-08-2003 à 17:30:44  profilanswer
 

Voila, je me pose des questions sur mon programme qui me tracassent un peu la tete :
 
1)Je dispose de 2 classes definient sommairement ainsi :
 

Code :
  1. class CShared_buffer
  2. (
  3. private :
  4. ...
  5. public :
  6. CShared_buffer(const char * name, size_t siz_elt, unsigned long size); //mon seul constructeur
  7. );
  8. class CCard_comm : public CShared_buffer
  9. {
  10. private :
  11. ...
  12. public :
  13. CCard_comm(); //mon seul constructeur
  14. );


 
La definition du constructeur de la classe CCard_comm doit donc faire appel au constructeur de la classe CShared_buffer.
Sa definition commence ainsi (dans le .cpp):
 

Code :
  1. CCard_comm::CCard_comm(void)
  2. {
  3. CShared_buffer::CShared_buffer("bufRig2Ss", sizeof(long), 1000);
  4. ...
  5. )


 
Ma question : le troisieme argument de valeur "1000" du constructeur de la classe de base est code en dur. Si je souhaite le passer en variable, le prototype du constructeur de la classe derivee deviendrait :

Code :
  1. CCard_comm::CCard_comm(int val)


...alors que cet argument n'a aucun rapport avec la classe derivee (CCard_comm) mais avec la classe de base (CShared_buffer). Dans le cas d'un arbre "genealogique" (vous comprenez ? :D) tres "profond", si on procederait ainsi, la classe la "moins basique" aurait un nombre d'argument considerable :/...comment resoudre ce probleme ?
 
2) Un constructeur de classe, par definition, ne renvoit pas de valeur. Si ce constructeur DOIT en renvoyee une (dans mon cas du test d'un fopen par exemple), le constructeur reviendrait a appeler une fonction uniquement pour feinter alors (qui pourra renvoyee une valeur)...est-ce la bonne facon de proceder ?  :heink:

mood
Publicité
Posté le 11-08-2003 à 17:30:44  profilanswer
 

n°483904
Giz
Posté le 11-08-2003 à 18:34:17  profilanswer
 

:bounce:

n°483909
youdontcar​e
Posté le 11-08-2003 à 18:45:14  profilanswer
 

giz a écrit :

si on procederait ainsi, la classe la "moins basique" aurait un nombre d'argument considerable :/...comment resoudre ce probleme ?


class A
{
  A(creationStructure cs);
};
 
class B
{
  B(creationStructure cs);
};
 
// pour a  
struct creationStructure
{
  int a, b;
};
 
// pour b
struct creationStructureB : public creationStructure
{
  int c, d;
}
 
puis dans le code :
B::B(creationStructure cs)
{
  creationStructureB* csb = (creationStructureB*)&cs;
}
 
Méthode standard. Je n'aime pas trop, un hash est sûrement plus simple.
 
 

giz a écrit :

2) Un constructeur de classe, par definition, ne renvoit pas de valeur. Si ce constructeur DOIT en renvoyee une (dans mon cas du test d'un fopen par exemple), le constructeur reviendrait a appeler une fonction uniquement pour feinter alors (qui pourra renvoyee une valeur)...est-ce la bonne facon de proceder ?

Ton objet a deux méthodes importantes : le constructeur qui initialise un objet 'vide' mais valide (pointeurs à null, etc) et une méthode Create() qui prend la structure de création et s'occupe de créer l'objet.

n°484074
ACut
Posté le 11-08-2003 à 20:38:08  profilanswer
 

<<Un constructeur de classe, par definition, ne renvoit pas de valeur. Si ce constructeur DOIT en renvoyee une (dans mon cas du test d'un fopen par exemple)...>>
 
Formulation superbizarre qd même! D'une certaine manière, le constructeur "renvoie" l'objet qu'il construit, c'est déjà pas mal, non?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Conception objet

 

Sujets relatifs
[php] tableau d'objet possible ou pas?afficher une image avec un fond transparent par dessus un objet multi-
C'est IE, Mozilla ou moi qui bug ? [objet THIS]Classe de lecture de fichier encodées - Approche Objet
passer un objet a une fuction c est possible ?Initialisation d'un objet de type TOracleDataSet (Delphi - DOA)
Objet WebBrowser et imprimanteconception éditeur
question sur conception objetconception objet, ça vous choque ça !?
Plus de sujets relatifs à : Conception objet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR