Declarer un vecteur d'objet et l'utiliser(urg
warry
Messages postés
1
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voila j'ai un ptit souci j'aimerai savoir si possible de m'aider pour mon exam :
en fait je dois entre autres creer une classe agenda et une classe page; dans la classe agenda il me faut un vecteur d'objet page, est ce possible..... si oui comment faire please
et ensuite comment acceder a un objet mis dans le vectreur
un grand merci ça urge.....
voila j'ai un ptit souci j'aimerai savoir si possible de m'aider pour mon exam :
en fait je dois entre autres creer une classe agenda et une classe page; dans la classe agenda il me faut un vecteur d'objet page, est ce possible..... si oui comment faire please
et ensuite comment acceder a un objet mis dans le vectreur
un grand merci ça urge.....
A voir également:
- Declarer un vecteur d'objet et l'utiliser(urg
- Comment utiliser chromecast sur tv - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser teamviewer - Guide
- Comment utiliser wetransfer - Guide
6 réponses
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)
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
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
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
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();
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
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> ?
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