Posez votre question Signaler

La classe en c++

lamte01 60Messages postés 5 janvier 2009Date d'inscription 7 décembre 2011Dernière intervention - Dernière réponse le 25 juin 2009 à 15:33
Bonjour,
mon programe ne se compile pas voici le fichier source
non du fichier lamte.h
#ifndef lamte
#define lamte
#include<stirng.h>
class ls {private:
char nom[20];
char prenom[20];
int age;
public:
ls(char n[20],char p[20],int a);
void saisir();
void afficher(); };
ls::ls(char n[20],char p[20],int a)
{ string(n,nom);
string(p,prenom);
a=age;}
void saisir::ls()
{ cout<<"donner votre nom ";cin>>nom;
cout<<"donner votre prenom ";cin>>prenom;
cout<<"donner votre age ";cin>>age;}
void afficher::ls() {cout<<"je m'appelle "<<nom<<" "<<prenom<<"\n";
cout<<"jai "<<age<<"\n"; }
#endif
nom du fichier lamte.c++
#include<iostream.h>
#include"lamte.h"
main( )
{ ls A; A.saisir(); A.afficher(); }
Merci
Lire la suite 

La classe en c++ »

5 réponses
Réponse
+0
moins plus
quel est le message d'erreur à la compilation?
peux tu utiliser les balises < code > et < /code > (sans espaces) pour concerver la présentation de ton code stp ?
Ajouter un commentaire
Réponse
+0
moins plus
apres le rmplacement des des fonction menbre ls::saisir ( )
voici les erreurs
Dans le fichier inclus à partir de lamte.c++:2:
lamte.h:3:19: stirng.h : Aucun fichier ou répertoire de ce type
In file included from lamte.c++:2:
lamte.h: Dans constructor « ls::ls(char*, char*, int) »:
lamte.h:13: error: `string' undeclared (first use this function)
lamte.h:13: error: (Each undeclared identifier is reported only once for each
function it appears in.)
lamte.c++: Dans function « int main() »:
lamte.c++:4: error: no matching function for call to `ls::ls()'
lamte.h:4: error: candidates are: ls::ls(const ls&)
lamte.h:13: error: ls::ls(char*, char*, int)
Ajouter un commentaire
Réponse
+0
moins plus
lamte.h:3:19: stirng.h : Aucun fichier ou répertoire de ce type

-> avec string.h ca marcherai mieux... tu sais, il faut lire les messages !

void saisir::ls()
-> le nom de ta classe est ls, donc tu dois faire void ls::saisir()
pareil pour afficher

dans ton .h, le seul constructeur est un constructeur parametré: ls(char n[20],char p[20],int a);
hors, dans le .cpp, tu appelles ls A , donc un constructeur par défaut (sans paramètres) qui n'existe pas !
de plus, tu es dans le forum unix, je demande la migrationd e ton message vers le forum prorgammation
Ajouter un commentaire
Réponse
+0
moins plus
en cpp comment mettre un constucteur avec parametre
Ajouter un commentaire
Réponse
+0
moins plus
sois tu fais ton main comme ca:
main( )
{ 
    ls A("roger","thierry",25); 
    A.saisir(); 
    A.afficher(); 
} 


soit tu fais un constructeur vide (vu que tu appelles "saisir")
ls::ls()
{}
Ajouter un commentaire
Ce document intitulé « la classe en c++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook