Class Livre

Signaler
Messages postés
5
Date d'inscription
dimanche 11 juin 2006
Statut
Membre
Dernière intervention
15 juin 2007
-
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
bonjour,
pouvez m'aider à construire et à implanter une classe nommée Livre (en programmation orientée objet C++)

10 réponses

Messages postés
64
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
1 juillet 2010
2
oui, on veut bien ;-)

Mad_Love_Disease
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut :

class CLivre {
private :
        int  m_iVersion;
        char m_szTitle [64];
        char m_szAuthor [64];
        // ...

public :
     CLivre (int version,
             char * title,
             char * author) {
          m_iVersion = version;
          m_szTitle = new char [strlen (title)];
          strcpy (m_szTitle, title);
  
          // ...
     }
     CLivre () {
     }
     ~CLivre () {
     }
     int GetVersion () {
         return m_iVersion;
     }
     char * GetTitle () {
         return m_szTitle;
     }
     // Et ainsi de suite ...
};
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
class CLivre

{

private:


std::string m_name;

std::string m_author;


public:


    CLivre();

    CLivre(const  std::string & _name, const std::string & _author);

...

};


Quelle idée les char* :)
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
D'autant que la version avec char* est mauvaise, car delete[] oublié dans le destructeur
De quoi donner raison à luhtor

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut :

Est ce qu'il y a un problème avec les char *?

Dernière remarque :

CLivre::~CLivre () {
       if  (m_szTitle) {
                delete m_szTitle;
       }
       // ...
}
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
On fait du C++, pas du C, ya AUCUNE raison de s''*"^é('$^é" (s'embeter)
avec des (char *) qui ne servent qu'à planter ton programme. Alors que
les string de la std sont surs et faciles à utiliser.


Autant jeter au blacard, ce qui n'a pas de raison d'etre utiliser :)


Personnellement: j'utilises plus du tout les (char *) pour gérer des caractères.
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut :

Moi je suis obsédé par les char * de plus je suis faible en STL je ne sais que

std::string s;
// ...
s.c_str ();
Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Si c'est juste pour stocker un nom dans une classe je pense qu'il vaut mieux utiliser les char*, c'est plus rapide.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Les string servent à quoi a ton avis?

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Et en plus: "C'est plus rapide" <= quel intéret ? aucun ...