Class en c++
Résolu/Fermé
yoshis94
Messages postés
9
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
14 septembre 2005
-
14 sept. 2005 à 10:10
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 15 sept. 2005 à 13:13
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 15 sept. 2005 à 13:13
A voir également:
- Class en c++
- Comment savoir sa classe en avance ✓ - Forum Loisirs / Divertissements
- Nvcontainer windows class - Forum Carte graphique
- Img class css - Astuces et Solutions
- Filmer un prof en classe sanction - Forum Vos droits sur internet
- Logiciel qui empêche l’arrêt NvContainerWindowsClass ✓ - Forum Carte graphique
4 réponses
yoshis94
Messages postés
9
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
14 septembre 2005
14 sept. 2005 à 11:13
14 sept. 2005 à 11:13
bon dite moi si j'ai faux dans ma demarche:
on crée une class:
class nom_de_la_class(public: element de la class;..;...;
public:
fonctions_membres de la class()
{
elements de la fonction
}
);
definition d'un element de la class:
nom_de_la_class element;
fonction main()
{
appel d'une fonction membre:
element.fonction_membre();
}
est-ce que ma methode ce tiens ou non est-ce que je dois revoir ma copie
???
merci pour vos futur reponses
on crée une class:
class nom_de_la_class(public: element de la class;..;...;
public:
fonctions_membres de la class()
{
elements de la fonction
}
);
definition d'un element de la class:
nom_de_la_class element;
fonction main()
{
appel d'une fonction membre:
element.fonction_membre();
}
est-ce que ma methode ce tiens ou non est-ce que je dois revoir ma copie
???
merci pour vos futur reponses
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
14 sept. 2005 à 13:10
14 sept. 2005 à 13:10
1 / où est le prototype ?
2/ où sont déclarées les instances de model, ram, ecran, dd, taille ?
3/ quel est l'intérêt à faire hériter une classe des propriétés
de simples variables (int char float) n'étant pas des objets
mais des types intégrés au langage ?
4/ même en admetant que ce soient des objets, un objet n'hérite pas d'instances mais de types
5/ qu'est-ce qu'un type et qu'est ce qu'une instance ?
int est le type de variable, et a est un instance de type integer
class déclare un type d'objet
de toute évidence, il faut que tu apprennes ce que sont
- le type
- l'instance
afin de pouvoir comprendre
- l'encapsulation
qui est la première des 3 étapes pour comprendre l'objet.
2/ où sont déclarées les instances de model, ram, ecran, dd, taille ?
3/ quel est l'intérêt à faire hériter une classe des propriétés
de simples variables (int char float) n'étant pas des objets
mais des types intégrés au langage ?
4/ même en admetant que ce soient des objets, un objet n'hérite pas d'instances mais de types
5/ qu'est-ce qu'un type et qu'est ce qu'une instance ?
int a;
int est le type de variable, et a est un instance de type integer
class déclare un type d'objet
de toute évidence, il faut que tu apprennes ce que sont
- le type
- l'instance
afin de pouvoir comprendre
- l'encapsulation
qui est la première des 3 étapes pour comprendre l'objet.
yoshis94
Messages postés
9
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
14 septembre 2005
14 sept. 2005 à 14:23
14 sept. 2005 à 14:23
merci pour ta reponse
je me replonge dans mon bouquin pour essayé de bien saisir ce qu'est un objet car la je rame.
lorque je serai un peu plus pres je referais surface.
je me replonge dans mon bouquin pour essayé de bien saisir ce qu'est un objet car la je rame.
lorque je serai un peu plus pres je referais surface.
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
14 sept. 2005 à 15:18
14 sept. 2005 à 15:18
je te propose:
class ordinateur {
char marque[10];char model[10];float proscesseur;int ram;int dd;char ecran[10];int taille;
public:
void saisie();
void affichage();
};
ordinateur a;
int main ()
{
a.saisie();
a.affichage();
return 0;
}
void ordinateur::affichage()
{
cout<<"les informations saisie sont: "<<endl;
cout<<marque<<endl;// lignes modifier : plus de "a."
cout<<model<<endl;
cout<<proscesseur;
cout<<ram<<endl;
cout<<dd<<endl;
cout<<ecran<<endl;
cout<<taille<<endl;
}
void ordinateur::saisie()
{
cout<<"Quel est la marque de l'ordinateur: "<<endl;
cin>> marque;// lignes modifier : plus de "a."
cout<<endl<<"le model:"<<endl;
cin>>model;
cout<<endl<<"la vitesses du proscesseur:"<<endl;
cin>>proscesseur;
cout<<endl<<"quel est la taille de votre memoire vive en MO:"<<endl;
cin>>ram;
cout<<endl<<"la taille de votre disque dur en GO:"<<endl;
cin>>dd;
cout<<endl<<"la marque de votre ecran:"<<endl;
cin>>ecran;
cout<<endl<<"et ca taille en pouce:"<<endl;
cin>>taille;
}
voila comment je corrige ton programme. J'ai déplacer le public pour qu'on ne puisse pas acceder directement aux donnés.
l'implementation d'une méthode se fait en précisant la portée car si tu as :
class A{void saisie();...}
et class B{void saisie();...}
comment le compilo fait pour savoir à qui corespond l'implémentation
void saisie(){...} ?
class ordinateur {
char marque[10];char model[10];float proscesseur;int ram;int dd;char ecran[10];int taille;
public:
void saisie();
void affichage();
};
ordinateur a;
int main ()
{
a.saisie();
a.affichage();
return 0;
}
void ordinateur::affichage()
{
cout<<"les informations saisie sont: "<<endl;
cout<<marque<<endl;// lignes modifier : plus de "a."
cout<<model<<endl;
cout<<proscesseur;
cout<<ram<<endl;
cout<<dd<<endl;
cout<<ecran<<endl;
cout<<taille<<endl;
}
void ordinateur::saisie()
{
cout<<"Quel est la marque de l'ordinateur: "<<endl;
cin>> marque;// lignes modifier : plus de "a."
cout<<endl<<"le model:"<<endl;
cin>>model;
cout<<endl<<"la vitesses du proscesseur:"<<endl;
cin>>proscesseur;
cout<<endl<<"quel est la taille de votre memoire vive en MO:"<<endl;
cin>>ram;
cout<<endl<<"la taille de votre disque dur en GO:"<<endl;
cin>>dd;
cout<<endl<<"la marque de votre ecran:"<<endl;
cin>>ecran;
cout<<endl<<"et ca taille en pouce:"<<endl;
cin>>taille;
}
voila comment je corrige ton programme. J'ai déplacer le public pour qu'on ne puisse pas acceder directement aux donnés.
l'implementation d'une méthode se fait en précisant la portée car si tu as :
class A{void saisie();...}
et class B{void saisie();...}
comment le compilo fait pour savoir à qui corespond l'implémentation
void saisie(){...} ?
yoshis94
Messages postés
9
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
14 septembre 2005
14 sept. 2005 à 17:08
14 sept. 2005 à 17:08
merci pour ta reponse :-)!
mais lorsque que je compile j'obtiens bien la premiere partie saisie mais apres je n'arrive pas a obtenir le réaffichage des informations saisie.
je vais etudier ca encore merci!
mais lorsque que je compile j'obtiens bien la premiere partie saisie mais apres je n'arrive pas a obtenir le réaffichage des informations saisie.
je vais etudier ca encore merci!
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
>
yoshis94
Messages postés
9
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
14 septembre 2005
15 sept. 2005 à 13:13
15 sept. 2005 à 13:13
Ce que je fait dans ce cas la, pour débugger, c'est de tout mettre en public. Comme ça, tu peux faire un cout<<a.X et vérifier que c'est bien la bonne valeur qui a été prise.rajoute éventuellement de cout dans la fonction saisie.
Une idée, tu peux aussi surcharger l'opérateur '<<' pour pouvoir faire directement : cout<<a
ce qui permet d'avoir quelque chose de plus utilisable pour quelqu'un qui utiliserai ta classe., de te familiariser avec la notion de fonction amie, et de flux.
ostream& operator<<(ostream&, ordinateur);
bonne chance pour la suite de ton prog.
Une idée, tu peux aussi surcharger l'opérateur '<<' pour pouvoir faire directement : cout<<a
ce qui permet d'avoir quelque chose de plus utilisable pour quelqu'un qui utiliserai ta classe., de te familiariser avec la notion de fonction amie, et de flux.
ostream& operator<<(ostream&, ordinateur);
bonne chance pour la suite de ton prog.