Donnée membre constante d'une classe en c++

Bonsoir,
voici une classe en c++ :
class Test
{
const int cp;
char *ch;
public:
Test(int,char*);
Test(Test &);
void afficher();
~Test();
};
comment je peux définir la fonction membre par recopie Test(Test&) on tient compte de cp qui est constante ?
et merci.
Configuration: Windows XP
Firefox 1.5

4 réponses

  1. saluts tou monde,

    j'ai besoin de vous cher colègue sur se lien

    http://www.commentcamarche.net/forum/affich 10576457 scrip c besain aide modif
    0
    1. saluts tout monde

      j remarquer un gua sur forum laissais pas mal de message en programmation intéressent

      mais a par rament il a des souci
      avec son code

      moi je mi conais pas trop alors voici son lien

      http://www.commentcamarche.net/forum/affich 10576093 souci de ligne dans mon c
      -1
      1. Contributeur
        Salut,
        Bah si c'est constant tu ne peux pas y toucher dans ton code sauf à la déclaration.
        0
        1. je ne comprend pas ton problème ? plutot quel est le problème.
          1
          1. mon probleme ce que je n'arrive pas à définir les 2 constructeurs de cette classe,surtout le constructeur par recopie ,à cause de variable "cp" qui est constant...
            donc le probléme dans la définition des constructeurs.
            et merci........
            0
          2. @DRSBMMTon problème doit se trouve à l'implémentaion de tes classe, je pense.
            pour initialisé une variable constant a la construction d'un classe il faut que tu utilise cette syntaxe.

            nomclasse::nomclasse (parmètre) :
            nomvariable (valeur),
            nomvariable (valeur)
            {
            pour une constant toujours avec une initialisation comme ci-dessus.
            }

            exemple d'utilisation :
            -------------------------------------------------------
            #include <iostream>

            using namespace std ;

            class test {
            private:
            const int cp ;
            int courant;
            string texte ;
            public:
            test() ;
            test(string,int);
            test(test&) ;
            ~test() {} ;
            } ;

            test::test(string l, int c):
            cp(c), courant(c+2), texte(l) {
            cout<<cp<<" | "<<courant<<" | "<<texte<<endl ;
            }

            test::test():
            cp(1), courant(2), texte("rien") {
            cout<<cp<<" | "<<courant<<" | "<<texte<<endl ;
            }

            test::test(test&c):
            cp(c.cp), courant(c.courant+2), texte(c.texte) {
            cout<<cp<<" | "<<courant<<" | "<<texte<<endl ;
            }

            int main (){
            test *t=new test ("azerty", 1) ;
            test *m=new test (*t) ;
            delete t ;
            delete m ;
            return 0 ;
            }
            --------------------------------------------------------------------------------
            J'espère avoir répondu à ton problème
            0
          3. @azureus33merci beaucoup azureus33 ,et à tous ce qu'il m'est aidé.
            0