[LGC] Constructeur

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [LGC] Constructeur

Message  algra le Jeu 18 Déc 2014, 15:56

Bonjour,

Je me demande pourquoi dans ce code si :
Code:
#include <iostream>
using namespace std;
class Trois {
  int x;
public:
  Trois (int x=0) {
    this->x=x;
  }
  int get() const {
    return x;
    }
};
int main() {
  Trois trois () ;
  int d = trois.get();
  cout<< d <<endl;
  return 0;
}

Il me met un erreur : request for member 'get' in 'trois', which is of non-class type 'Trois()' int d = trois.get();
Pour moi, comme il n'y a pas de valeur dans les (), x avait directement la valeur 0.
Mais si on retire les (), il affiche bien 0.

Je comprends pas pourquoi,c'est surement lié au constrcuteur pas défaut.
Quelqu'un pourrait-il m'exclairé?

Merci d'avance

algra

Nombre de messages : 45
Age : 21
Prénom : Alexis
Statut : Ancien
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

resolu Re: [LGC] Constructeur

Message  mvh le Jeu 18 Déc 2014, 20:21

[PUB]
La nouvelle session des Grands Webinaires de Fora vous permet de comparer les opinions, de débattre et discuter en direct avec les spécialistes de l'ESI et de l'informatique de l'extrême. Nos experts s'attacheront à analyser les éléments qui conditionneront l'évolution des activités locales afin de repérer les opportunités à saisir. Dans la pratique nous reprendrons les diverses solutions pour concrétiser ces stratégies de façon simple, transparente et peu coûteuse. A vous de vous faire votre propre opinion.
[/PUB]

_________________

La fête c'est nul sans Kidibul !
... (vieux proverbe local)



mvh

Nombre de messages : 5973
Age : 104
Prénom : Marcel VANHAELEN
Statut : (fin de bail)
Win 3.1 à reprendre
Localisation : Koekeliek de Baselberg
Date d'inscription : 06/12/2006

Revenir en haut Aller en bas

resolu Re: [LGC] Constructeur

Message  mourad1081 le Ven 26 Déc 2014, 23:51

Ben dans ton main, tu ne créé pas d'objet "Trois", tu déclares une fonction appelée "trois" et qui retourne un objet Trois.
Si tu veux construire correctement ton objet en faisant appel au constructeur sans paramètre, tu dois retirer les parenthèses.

Ceci fonctionnera :
Code:

int main()
{
  Trois trois;
  int d = trois.get();
  cout<< d <<endl;
  return 0;
}

mourad1081

Nombre de messages : 65
Prénom : Mourad
Date d'inscription : 02/03/2013

Revenir en haut Aller en bas

resolu Re: [LGC] Constructeur

Message  algra le Sam 27 Déc 2014, 16:13

Ok merci Smile

algra

Nombre de messages : 45
Age : 21
Prénom : Alexis
Statut : Ancien
Date d'inscription : 16/09/2013

Revenir en haut Aller en bas

resolu Re: [LGC] Constructeur

Message  Contenu sponsorisé Aujourd'hui à 08:46


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum