Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme sur une classe [ Archives / Divers ] (NerOcrO)

samedi 27 avril 2002 à 21:02:45 | probleme sur une classe

NerOcrO

Voici mon code :
#include <iostream.h>
#include <string.h>
class Chanson //classe Chanson
{
public:
int Duree;
char TypeDeFichier[3], Auteur[50], Titre[50], Interprete[50];
public:
Chanson (int*, char*, char*, char*, char*); //Constructeur
~Chanson (void); //Destructeur
void Afficher ();
};

void main (void)
{
int Duree1;
char TypeDeFichier1[3], Auteur1[50], Titre1[50], Interprete1[50];
Chanson obj (Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);
obj.Afficher ();
}

void Chanson::Afficher (void)
{
cout << "Type De Fichier : " << TypeDeFichier << endl;
cout << "Duree : " << Duree << endl;
cout << "Auteur : " << Auteur << endl;
cout << "Titre : " << Titre << endl;
cout << "Interprete : " << Interprete << endl;
}

Chanson::Chanson (int* Duree1, char* TypeDeFichier1, char* Auteur1, char* Titre1, char* Interprete1)
{
Duree=*Duree1;
strcpy (TypeDeFichier, TypeDeFichier1);
strcpy (Auteur, Auteur1);
strcpy (Titre, Titre1);
strcpy (Interprete, Interprete1);
}

Chanson::~Chanson (void)
{
cout << "Objet detruit.";
}
J'ai une erreur au niveau de l'instanciation.
Aidez moi svp.

jeudi 2 mai 2002 à 00:16:15 | Re : probleme sur une classe

Blustuff

Ton constructeur utilise comme premier parametre un pointeur sur int, et toi, tu as passé un parametre du type int. Tu dois remplacer

Chanson obj (Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);

par

Chanson obj (&Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);

puisque ce parametre est un pointeur, tu dois envoyer l'adresse de Duree1 et non sa valeur. Par ailleur l'usage de pointeur n'est pas justifié ici. Ton constrtucteur ne modifie pas la valeur de Duree, tu n'a donc pas besoin de passer la variable par pointeur. Tu peux donc remplacer

Duree=*Duree1;

par

Duree=Duree1;

et changer le type du premier parametre

int*

par le type

int

Si ca ne marche pas, donne plus de précision dans la description de l'erreur. Il peut y avoir bcp d'erreur dans l'instanciation. (Au moins préciser, si c'est une erreur de compilation, de liason, ou une exeption lors de l'execution)


Blustuff.



-------------------------------
Réponse au message :
-------------------------------

Voici mon code :
#include <iostream.h>
#include <string.h>
class Chanson //classe Chanson
{
public:
int Duree;
char TypeDeFichier[3], Auteur[50], Titre[50], Interprete[50];
public:
Chanson (int*, char*, char*, char*, char*); //Constructeur
~Chanson (void); //Destructeur
void Afficher ();
};

void main (void)
{
int Duree1;
char TypeDeFichier1[3], Auteur1[50], Titre1[50], Interprete1[50];
Chanson obj (Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);
obj.Afficher ();
}

void Chanson::Afficher (void)
{
cout << "Type De Fichier : " << TypeDeFichier << endl;
cout << "Duree : " << Duree << endl;
cout << "Auteur : " << Auteur << endl;
cout << "Titre : " << Titre << endl;
cout << "Interprete : " << Interprete << endl;
}

Chanson::Chanson (int* Duree1, char* TypeDeFichier1, char* Auteur1, char* Titre1, char* Interprete1)
{
Duree=*Duree1;
strcpy (TypeDeFichier, TypeDeFichier1);
strcpy (Auteur, Auteur1);
strcpy (Titre, Titre1);
strcpy (Interprete, Interprete1);
}

Chanson::~Chanson (void)
{
cout << "Objet detruit.";
}
J'ai une erreur au niveau de l'instanciation.
Aidez moi svp.

jeudi 2 mai 2002 à 00:25:54 | Re : probleme sur une classe

NerOcrO

Put1 je te remercie, c'était exactement ça.

NerOcrO


-------------------------------
Réponse au message :
-------------------------------

Ton constructeur utilise comme premier parametre un pointeur sur int, et toi, tu as passé un parametre du type int. Tu dois remplacer

Chanson obj (Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);

par

Chanson obj (&Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);

puisque ce parametre est un pointeur, tu dois envoyer l'adresse de Duree1 et non sa valeur. Par ailleur l'usage de pointeur n'est pas justifié ici. Ton constrtucteur ne modifie pas la valeur de Duree, tu n'a donc pas besoin de passer la variable par pointeur. Tu peux donc remplacer

Duree=*Duree1;

par

Duree=Duree1;

et changer le type du premier parametre

int*

par le type

int

Si ca ne marche pas, donne plus de précision dans la description de l'erreur. Il peut y avoir bcp d'erreur dans l'instanciation. (Au moins préciser, si c'est une erreur de compilation, de liason, ou une exeption lors de l'execution)


Blustuff.



-------------------------------
Réponse au message :
-------------------------------

Voici mon code :
#include <iostream.h>
#include <string.h>
class Chanson //classe Chanson
{
public:
int Duree;
char TypeDeFichier[3], Auteur[50], Titre[50], Interprete[50];
public:
Chanson (int*, char*, char*, char*, char*); //Constructeur
~Chanson (void); //Destructeur
void Afficher ();
};

void main (void)
{
int Duree1;
char TypeDeFichier1[3], Auteur1[50], Titre1[50], Interprete1[50];
Chanson obj (Duree1, TypeDeFichier1, Auteur1, Titre1, Interprete1);
obj.Afficher ();
}

void Chanson::Afficher (void)
{
cout << "Type De Fichier : " << TypeDeFichier << endl;
cout << "Duree : " << Duree << endl;
cout << "Auteur : " << Auteur << endl;
cout << "Titre : " << Titre << endl;
cout << "Interprete : " << Interprete << endl;
}

Chanson::Chanson (int* Duree1, char* TypeDeFichier1, char* Auteur1, char* Titre1, char* Interprete1)
{
Duree=*Duree1;
strcpy (TypeDeFichier, TypeDeFichier1);
strcpy (Auteur, Auteur1);
strcpy (Titre, Titre1);
strcpy (Interprete, Interprete1);
}

Chanson::~Chanson (void)
{
cout << "Objet detruit.";
}
J'ai une erreur au niveau de l'instanciation.
Aidez moi svp.




Cette discussion est classé dans : void, char, cout, chanson, endl


Répondre à ce message

Sujets en rapport avec ce message

Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l Pas De Solution??? [ par PsyCaDi ] Bonjour,Voilà, je veux faire un truc tout con avec des tableaux mais ça ne marche pas. Quelqu'un peut-il me dire ce qui n'est pas bon (sauf moi, ça je Ecriture/lecture dans un fichier [ par SneakGuy ] Haaa... Merci, sa m'a aider... Enfin, j'ai encore plusieurs problemes...pour l'ecriture j'ai quelque chose qui ressemble a sa:char user[20];char pass[ une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m petite question mais ke j'ai besoin [ par superoi ] bon \jour je sais que c'est con mais j'ai vraiment besoin de savoir c'est pour savoir si ca existe en c ca : long (*f)(void)(char *str); et est ce que des boucles. [ par pratix ] Salut à tous.Je post mon prg cherchenbr modifié (voir sujet précédent ''int main" ).Programme compilé avec visual C++ 06. ( zéro erreur )j'ai essay caractere speciaux a afficher en boucle [ par ranouf ] #include void main (){ cout cout cout}comment faire pour automatiser cette tache ?j'aurai besoin de savoir a koi correspon c++ algo [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include algo C++ [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include fichier exel (lecture et ecriture) [ par rissorg ] Bonjour a tous!j'essaye de faire un programme qui doit lire differents fichiers exel ,comparer les donnees lu au donnees contenu dans un fichier text


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.