Declarer un vecteur d'objet et l'utiliser(urg
Fermé
warry
Messages postés
1
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
27 mars 2008
-
27 mars 2008 à 07:01
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 31 mars 2008 à 08:47
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 31 mars 2008 à 08:47
A voir également:
- Declarer un vecteur d'objet et l'utiliser(urg
- Vente objet occasion entre particulier - Guide
- Comment utiliser chromecast - Guide
- Comment utiliser wetransfer gratuit ? - Guide
- Utiliser tablette comme ecran - Guide
- Utiliser iphone comme webcam - Guide
6 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
28 mars 2008 à 11:15
28 mars 2008 à 11:15
non, non, il faut utiliser :
"agenda".PA[n] où 'n' est le numéro de la page. note que j'ai mis agenda entre guillement, car c'est une class pas un objet, donc or de question de l'utiliser tel quel.
ensuite, pour public ou private, c'est à toi de voir selon l'utilisation. Un puriste C++ te dirait en prvate, car il faut des fonction pour accéder aux données membres (donc "agenda".fonction_utilisant_vecteur)
"agenda".PA[n] où 'n' est le numéro de la page. note que j'ai mis agenda entre guillement, car c'est une class pas un objet, donc or de question de l'utiliser tel quel.
ensuite, pour public ou private, c'est à toi de voir selon l'utilisation. Un puriste C++ te dirait en prvate, car il faut des fonction pour accéder aux données membres (donc "agenda".fonction_utilisant_vecteur)
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
27 mars 2008 à 08:26
27 mars 2008 à 08:26
Salut.
utilise la classe vector de la STL :
std::vector<Objet> vecteur_d_objet;
pour l'utiliser il suffit d'utiliser l'opérateur [].
Enfin, si c'est du C++, vu que tu ne précise pas le langage !
utilise la classe vector de la STL :
std::vector<Objet> vecteur_d_objet;
pour l'utiliser il suffit d'utiliser l'opérateur [].
Enfin, si c'est du C++, vu que tu ne précise pas le langage !
merci pour ta reponse
oui c'est du c++ et faut il l'utilser comme ceci
class agenda{
...
public:
std::Vector<Page>PA;
}
ou en private
et pour l'utiliser apres dois je utiliser le nom de la classe suivi du nom du vecteur... puisque il est interne a la classe?
ex agenda.PA.variterne
ou agenda.(fonctionutilisantlevecteur)
merci pour vos reponse
oui c'est du c++ et faut il l'utilser comme ceci
class agenda{
...
public:
std::Vector<Page>PA;
}
ou en private
et pour l'utiliser apres dois je utiliser le nom de la classe suivi du nom du vecteur... puisque il est interne a la classe?
ex agenda.PA.variterne
ou agenda.(fonctionutilisantlevecteur)
merci pour vos reponse
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
28 mars 2008 à 11:52
28 mars 2008 à 11:52
Hum hum...
erreur classique de débutant, les indices de tableau en C commencent à 0 !
tu as déjà de la chance de ne pas avoir fait une erreur de segmentation.
agenda::Pa[0].affiche()
Pour la taille de Pa, u peux faire agenda::Pa.size()
regarde là pour des informations sur les vector : https://en.cppreference.com/w/cpp/container/vector
erreur classique de débutant, les indices de tableau en C commencent à 0 !
tu as déjà de la chance de ne pas avoir fait une erreur de segmentation.
agenda::Pa[0].affiche()
Pour la taille de Pa, u peux faire agenda::Pa.size()
regarde là pour des informations sur les vector : https://en.cppreference.com/w/cpp/container/vector
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
28 mars 2008 à 13:54
28 mars 2008 à 13:54
pour ajouter un autre objet il suffit de mettre a nouveau un push_back et il se mettra dans la case [1]?
oui.
Pour la copie de tout le vecteur dans un fichier, ça dépend de ton objet.
mais tout copier d'un coup n'est pas faisable (à ma connaissance), il faut que tu fasse une boucle sur tout les éléments de ton vecteur et que tu le sauve sur un fichier.
oui.
Pour la copie de tout le vecteur dans un fichier, ça dépend de ton objet.
mais tout copier d'un coup n'est pas faisable (à ma connaissance), il faut que tu fasse une boucle sur tout les éléments de ton vecteur et que tu le sauve sur un fichier.
donc il me faut une fonction dans la classe de mon objet qui recopie les attributs dans le fichier
ex
class Page{
public:
void ecrire{
ecrire dans la fichier tout les attributs
}
et en faisant une boucle
for (i=0;i<2;i++){
Agenda->MONVECTEURDEPAGE[i].ecrire();
est ce bien ça
merci encore pour toute tes reponse et la suivantes
ex
class Page{
public:
void ecrire{
ecrire dans la fichier tout les attributs
}
et en faisant une boucle
for (i=0;i<2;i++){
Agenda->MONVECTEURDEPAGE[i].ecrire();
est ce bien ça
merci encore pour toute tes reponse et la suivantes
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
>
warry
28 mars 2008 à 15:54
28 mars 2008 à 15:54
exact.
Par contre, pour plus de souplesse/propreté
Même si c''est un peu plus lourd à écrire, cela permet de ne plus s'occuper du nombre de page si par la suite il change (en plus ou en moins)
Tu peux même faire plus sioux :
et ensuite dans le programme:
Par contre, pour plus de souplesse/propreté
for (i=0;i<Agenda->MONVECTEURDEPAGE.size();i++){ Agenda->MONVECTEURDEPAGE[i].ecrire(); }
Même si c''est un peu plus lourd à écrire, cela permet de ne plus s'occuper du nombre de page si par la suite il change (en plus ou en moins)
Tu peux même faire plus sioux :
class agenda{ public : void ecrire(); ... } void agenda::ecrire() { for (i=0;i<MONVECTEURDEPAGE.size();i++) MONVECTEURDEPAGE[i].ecrire(); }
et ensuite dans le programme:
Agenda->ecrire();
warry
>
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
28 mars 2008 à 16:04
28 mars 2008 à 16:04
ok merci
mais tu vois le fichier je dois le declarerdans le .h de la classe qui ecrit dedant avec la fonction ecrire()
donc dans maclasse.h je mets le fichiers ainsi que le proto de ecrire(); et dans le .cpp le code de cette fonction?
merci d'avance
mais tu vois le fichier je dois le declarerdans le .h de la classe qui ecrit dedant avec la fonction ecrire()
donc dans maclasse.h je mets le fichiers ainsi que le proto de ecrire(); et dans le .cpp le code de cette fonction?
merci d'avance
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
>
warry
28 mars 2008 à 16:51
28 mars 2008 à 16:51
je pense, de toute façon, à par pour les inline et le template : jamais de code dans les .h
je ne comprends pas bien ce que tu veux dire par "le fichier".
je ne comprends pas bien ce que tu veux dire par "le fichier".
warry
>
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
28 mars 2008 à 16:59
28 mars 2008 à 16:59
ben en fait le fichier c'est celui dans lequel je veux sauvegarder mes objet page qui serai par exemple Rdv.txt
bien a toi
bien a toi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok
ben ecoute merci pour ton aide je vais essayé de continuer a travaillé dessus avec des collegues et je te tiens au courant
bien a toi
ben ecoute merci pour ton aide je vais essayé de continuer a travaillé dessus avec des collegues et je te tiens au courant
bien a toi
salut tout le monde
j'ai un ti souci je ne sais pas comment faire pour recopier les objets du vecteur dans un fichier
voila je m'explique apres avoir creer un vecteur d'objet Page dans une classe agenda
dans le main je fais des push_back et ça va ; apres affichage ça m'affiche aussi ce que j'ai dans mon vecteur donc les atributs de page donc jusque la tout va bien, mais apres il faut que je mette tout les objets contenus dans le vecteur dans un fichier texte; alors j'ai declarer dans ma classe page le fichier et une fonction qui rempli ce fichier
seulement apres l'execution le fichier est crée mais il n ya rien dedans
alors s'il vous plais a moi j'ai besoin de votre aide d'urgence
un tout grand merci d'vance
j'ai un ti souci je ne sais pas comment faire pour recopier les objets du vecteur dans un fichier
voila je m'explique apres avoir creer un vecteur d'objet Page dans une classe agenda
dans le main je fais des push_back et ça va ; apres affichage ça m'affiche aussi ce que j'ai dans mon vecteur donc les atributs de page donc jusque la tout va bien, mais apres il faut que je mette tout les objets contenus dans le vecteur dans un fichier texte; alors j'ai declarer dans ma classe page le fichier et une fonction qui rempli ce fichier
seulement apres l'execution le fichier est crée mais il n ya rien dedans
alors s'il vous plais a moi j'ai besoin de votre aide d'urgence
un tout grand merci d'vance
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
31 mars 2008 à 08:47
31 mars 2008 à 08:47
Salut.
Si tu arrive à écrire à l'écran, écrire dans un fichier c'est pareil. En effet, fichier et sortie standard, c'est considérer comme un flux, en sortie standard, tu lui précise implicitement.
As tu bien mis les attributs du fichier en écriture ?
Refermes tu bien ton fichier avant la fin du programme ?
Utilises tu l'en tete <fstream> ou <stdio.h> ?
Si tu arrive à écrire à l'écran, écrire dans un fichier c'est pareil. En effet, fichier et sortie standard, c'est considérer comme un flux, en sortie standard, tu lui précise implicitement.
As tu bien mis les attributs du fichier en écriture ?
Refermes tu bien ton fichier avant la fin du programme ?
Utilises tu l'en tete <fstream> ou <stdio.h> ?
28 mars 2008 à 11:32
merci encore pour tes precision, en fait voila ce que j'ai fait mnt
class agenda{
...
public:
std::vector<Page>Pa;
}
int main(){
Page *PAG=NULL;
PAG=new Page();
agenda::Pa(le vecteur).push_back(*Page);
agenda::Pa[1].affiche()(fonction interne de Page);
}
et alors les resultat afficher a l'ecran sont totalement different de ce que j'ai mis(avec le constructeur de page)
ex Page::Page(){
jour=5;
a l' affichage j'ai Le jour du rdv est -5874....
pourrai tu m'aider merci