Tableau d'objets

Résolu
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011 - 13 avril 2011 à 18:04
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011 - 14 avril 2011 à 16:06
Bonjour,

J'ai un tableau d'objets et je veux accéder à une méthode de l'ième objet. Par exemple
class A
{ double x;
public :
A()
{
x=0.;
}
getx()
{return this->x;}
setx(double x)
{this->x=x;}
};
int main()
{
A tab[20];
cout<<tab[0].getx();// c'est la ou ca bloque
return 0;
}

Est ce que vous pouvez m'aider à résoudre ce problème.
Merci d'avance

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
13 avril 2011 à 19:20
Ta classe est mal écrite. Une fonction DOIT avoir un type de retour.

Aucun souci avec ceci:
#include 

class A
{
public:
  A()
    : _x(0)
  {
  }

  double getX() const
  {
    return _x;
  }

  void setX(double x)
  {
    _x = x;
  }
private:
 double _x;
};

int main()
{
  A tab[20];
  std::cout << tab[0].getX() << std::endl;
  return 0;
}


PS: Évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
13 avril 2011 à 19:26
salut,

Tu ne déclares pas ce que tu retournes avec getx(), par défaut, c'est certainement void.

double getx() {return this->x;}
double setx(double x) {return this->x=x;}

@++
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
13 avril 2011 à 19:58
@patatalo: Pas de type de retour, par défaut c'est int, non ? double getX => ok, mais je dirais plutôt void setX, sans le return.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
14 avril 2011 à 13:34
@CptPingu: Après infos, la spécification K&R est bien int. Je préfère retourner la valeur modifiée de la classe contenante, même pour un set.

@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Adel85 Messages postés 25 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 14 avril 2011
14 avril 2011 à 16:06
Merci à tous. J'ai ajouté le type de retour double et ça fonctionné.
a+
0
Rejoignez-nous