Problème utilisation méthode classe simple C++
Mazered21
-
Mazered21 -
Mazered21 -
Salut!
Je débute en programmation C++, et j'expérimente les classes. J'ai créé un type d'objets duree, contenant de heures, de minutes et des sec, et des méthodes qui vont avec. Je créé ma "duree" nommée "duree1", et j'utilise la méthode que j'ai créé qui me permet de retourner le nombre d'heures de cette duree, appelée "direHeures".
Seulement, quand je fais duree1.direHeures, il me souligne le "." pour me dire qu'il ya a une erreur : "Error : un pointeur vers une fonction liée peut uniquement être utilisé pour appeler la fonction."
Voici le code du main.cpp avec l'erreur en ligne soulignée :
#include <iostream> //Déclaration des fichiers
#include "duree.h"
using namespace std;
int main() //Main
{
Duree duree1(10,3,12);
int a(duree1.direHeures);
return 0;
}
Les autres codes sont duree.h
#ifndef DEF_DUREE
#define DEF_DUREE
#include <iostream>
#include <string>
class Duree
{
public:
Duree(int heures = 0, int minutes = 0, int secondes = 0);
int direHeures();
int direMinutes();
int direSecondes();
int direTotalM();
int direTotalS();
protected:
int m_secondes;
int m_minutes;
int m_heures;
};
#endif
et duree.cpp :
#include "duree.h"
#include <iostream>
#include <string>
using namespace std;
int Duree::direHeures()
{
return m_heures;
}
int Duree::direMinutes()
{
return m_minutes;
}
int Duree::direSecondes()
{
return m_secondes;
}
int Duree::direTotalM()
{
return m_minutes + (m_heures * 60);
}
int Duree::direTotalS()
{
return m_secondes +(m_minutes * 60) + (m_heures * 60 * 60);
}
Duree::Duree(int heures, int minutes, int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes)
{
}
J,espère que vous pouvez m'aider, est-ce une erreur de syntaxe, de fichier?
Merci d'avance!
Je débute en programmation C++, et j'expérimente les classes. J'ai créé un type d'objets duree, contenant de heures, de minutes et des sec, et des méthodes qui vont avec. Je créé ma "duree" nommée "duree1", et j'utilise la méthode que j'ai créé qui me permet de retourner le nombre d'heures de cette duree, appelée "direHeures".
Seulement, quand je fais duree1.direHeures, il me souligne le "." pour me dire qu'il ya a une erreur : "Error : un pointeur vers une fonction liée peut uniquement être utilisé pour appeler la fonction."
Voici le code du main.cpp avec l'erreur en ligne soulignée :
#include <iostream> //Déclaration des fichiers
#include "duree.h"
using namespace std;
int main() //Main
{
Duree duree1(10,3,12);
int a(duree1.direHeures);
return 0;
}
Les autres codes sont duree.h
#ifndef DEF_DUREE
#define DEF_DUREE
#include <iostream>
#include <string>
class Duree
{
public:
Duree(int heures = 0, int minutes = 0, int secondes = 0);
int direHeures();
int direMinutes();
int direSecondes();
int direTotalM();
int direTotalS();
protected:
int m_secondes;
int m_minutes;
int m_heures;
};
#endif
et duree.cpp :
#include "duree.h"
#include <iostream>
#include <string>
using namespace std;
int Duree::direHeures()
{
return m_heures;
}
int Duree::direMinutes()
{
return m_minutes;
}
int Duree::direSecondes()
{
return m_secondes;
}
int Duree::direTotalM()
{
return m_minutes + (m_heures * 60);
}
int Duree::direTotalS()
{
return m_secondes +(m_minutes * 60) + (m_heures * 60 * 60);
}
Duree::Duree(int heures, int minutes, int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes)
{
}
J,espère que vous pouvez m'aider, est-ce une erreur de syntaxe, de fichier?
Merci d'avance!
A voir également:
- Problème utilisation méthode classe simple C++
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Iphone 14 simple - Guide
- Simple pdf - Télécharger - PDF
- Simple ocr - Télécharger - Bureautique
1 réponse
Bonjour
Je ne connais pas grand chose en C++, mais il me semble que dans duree1.direHeures, tu as oublié des parenthèses pour appeler la méthode direHeures : duree1.direHeures()
Et il me semble qu'il vaut mieux initialiser un int avec un = que comme s'il s'agissait d'un constructeur :
Je ne connais pas grand chose en C++, mais il me semble que dans duree1.direHeures, tu as oublié des parenthèses pour appeler la méthode direHeures : duree1.direHeures()
Et il me semble qu'il vaut mieux initialiser un int avec un = que comme s'il s'agissait d'un constructeur :
int a = duree1.direHeures();
Merci