begin process at 2012 02 12 13:23:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Constructeurs ...


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

Constructeurs ...

mercredi 2 août 2006 à 14:36:41 | Constructeurs ...

wismerhill__

J'ai du mal à comprendre la difference entre initialiser, instancier une classe
j'aimerais bien un exemple :

si je declare

class toto
{
private:
double a;
double* b;
MonType* c;
std::vector<int> d;
};

si je veux appliquer un méthode à un objet toto il faut que je l'instancie...je dois donc faire un constructeur ...

toto::toto()
{
//si je ne veux rien initialiser cad si je ne veux pas donner donner de valeur par default je ne met rien
}

toto::toto()
{
a=0;
//si je veux initialiser la valeur sur laquelle pointe b comment je fais ?
//si je veux initialiser la valeur sur laquelle pointe c (objet de la classe MonType) comment je fais ?
//si je veux avoir un std::vecteur avec 0 element mais utilisable, parexemple pour faire un 
//push back je fais comment ? 
}

Merci beaucoup si vous pouvez m'aider


wis :
in tartiflette I trust (like the others)
mercredi 2 août 2006 à 15:04:22 | Re : Constructeurs ...

turnerom

t oto::toto()
{
a=0;
b=&a; //si je veux initialiser la valeur sur laquelle pointe b comment je fais ?
c=new MonType(); //si je veux initialiser la valeur sur laquelle pointe c (objet de la classe MonType) comment je fais ?
// Le vecteur est prêt à etre utilisé  //si je veux avoir un std::vecteur avec 0 element mais utilisable, parexemple pour faire un 
//push back je fais comment ? 

}


Sinon, si tu veux pouvoir utilisé une méthode de Toto sans avoir à instancier un objet Toto, déclare ta fonction/méthode static

TuRn3r
mercredi 2 août 2006 à 16:59:28 | Re : Constructeurs ...

wismerhill__

merci !!! donc pour la classe suivante ...
{
private:
double a;
double* b;
MonType c;
MonType* d;
std::vector<int> e;
std::vector<MonType> f;
std::vector<MonType*> g;
};
 
toto::toto()
{
a=0;
b= new double;           //si je veux initialiser la valeur sur laquelle pointe b en rappelant le constructeur de double
c();                                //si je veux initialiser la valeur  en rappelant le constructeur (qui initilise lui même)
d= new MonType();   //si je veux initialiser l 'objet sur lequel point d en rappelant le constructeur (qui initilise lui même)
e(10,0)  ;                       //ca rappelle un constructeur surchargé de std::vector (un vecteur de 10 avec des 0 dedant)
f(10,c) ;                          //même constructeur que precedement qui initialise avec c
f(10,d);                           //même technique

}




wis :
in tartiflette I trust (like the others)
mercredi 2 août 2006 à 17:00:31 | Re : Constructeurs ...

wismerhill__

excuse je voulais ecrie pour b b= new double(0.)


wis :
in tartiflette I trust (like the others)
mercredi 2 août 2006 à 18:20:36 | Re : Constructeurs ...

steve_clamage

Pas du tout,

toto::toto()
: // Début de la zone d'initialisation
e(10, 0) // Au lieu d'etre un vector vide, e est un vector de 10 entiers initialisés à 0
{
// A partir de la tout les membres sont construis, soit par l'expression qui suit les ":", soit avec le contructeur par défaut
}



mercredi 2 août 2006 à 22:26:41 | Re : Constructeurs ...

trafounet

wismerhill_-> il me semble qu'il ne faut pas appeler le constructeur de c explicitement, il est appelé implicitement quand tu écrit MonType c;
jeudi 3 août 2006 à 22:37:15 | Re : Constructeurs ...

wismerhill__

-> steve clamage ... oui oui ok pour e c'est ce que je voulais dire

->trafounet ... ben je vais testr alors ...

 

merci les mecs

c++


wis :
in tartiflette I trust (like the others)



Cette discussion est classée dans : valeur, toto, double, initialiser, constructeurs


Répondre à ce message

Sujets en rapport avec ce message

Pb peut etre de compilateur ?! Need Help please [ par Orezza ] Orezzasalut à tous, je ne comprends vraiment pas le Pb, le compilateur Visual C++ indique 0 erreur-0 warning, or kand j'execute mon prog des ke je ren PB valeur maximale variables [ par chmod777 ] voila, j'ai une boucle for qui doit se terminer lorsque la variable compteur atteint 208.827.064.576 le probleme c'est qu'avec une variable de type in Problème avec les listes chaînées double [ par marik7335 ] Salut,Je comprends le principe des listes chaînées simples mais je n'arrive pas à utiliser les listes chaînées double.Ce que je voudrais faire c'est u problème de scan de double dans un fichier [ par jc_romeo ] Bonjour je dois prendre des valeurs d'un fichier qui sont de type double (8 chiffres apres la virgule)je fais donc la manip suivante:double valeur;fsc Incomprehensible !!!! [ par makefcna ] Voici un problème que je ne comprend pas :double valeur;double valeur2,valeur=156825;valeur2=156.825;valeur=valeur/1000;if (valeur==valeur2)   {   // initialiser des valeur [ par maloudre ] bonjoursuite a mon autre post " taille mximum d une valeur "je voudrais savoir comment initialiser avec des valeurs par defaut ( par ex 0 ) ma valeur comportement étrange ... [ par clempar55 ] J'ai fait un petit programme tout à l'heure pour voir si on pouvait incrementer un double et j'ai fait le test suivant:     double d=32.5;    printf(" Recuperer un mot ou une valeur [ par CicinhoRaul ] Bonjour, j'aurai besoin de votre aide pour savoir comment faire pour récuperer une valeur ou une chaine de caracteres.On a par exemple :[Nom] = toto[A Cast de double en long et vice-versa : question pas si triviale [ par BenGourion73 ] Bonjour, Ma question est très simple. je souhaite gérer des nombres entiers mais avec le type double. Le hic, c'est que C++ a une facheuse tendance à Fonction par pointeur [ par airness86180 ] Bonjour,je suis debutant en C/C++ mais a la lecture de mon cours, je ne comprends pas pourquoi ce code tout simple (surtout ne vous moquez pas , c pou


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,571 sec (3)

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