Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Constructeurs ... [ Divers / Débutant(e) ] (wismerhill__)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.