wismerhill__
Messages postés88Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention26 juillet 2007
-
2 août 2006 à 14:36
wismerhill__
Messages postés88Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention26 juillet 2007
-
3 août 2006 à 22:37
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 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 ?
}
turnerom
Messages postés492Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention12 janvier 20121 2 août 2006 à 15:04
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
wismerhill__
Messages postés88Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention26 juillet 2007 2 août 2006 à 16:59
merci !!! donc pour la classe suivante ...
{
private:
double a;
double* b;
MonType c;
MonType* d;
std::vector e;
std::vector<MonType> f;
std::vector<MonType*> g;
};
304809 t
oto::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