[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux] [off topic]: question c++
hello,
une petite question de réflexion...
la réponse doit être toute conne quand on connait le c++ mais vu que
c'est un dossier pour l'exam de demain, ...
j'ai une classe Centre
qui donne ca (pour les private)
class Centre
{
friend ostream& operator<<(ostream&,const Centre&);
friend istream& operator>>(istream&,Centre&);
private:
std::vector<PersAdmin> vecCAdmin;
std::vector<PersForma> vecCForma;
std::vector<PersClient> vecCClient;
std::vector<Formation> vecCFormation;
std::string nom;
std::string adresse;
public:
...
}
les classes PersAdmin c'est un truc dans le genre y'a un string nom,
prenom, adresse, ...
et dans l'applic, j'ai un vector global (oui, je sais ;p)
std::vector<Centre> vecCentre;
j'ai aussi une classe Fichier
dans laquelle y'a notamment ceci
template <class type>
void Fichier<type>::saveF(vector<type>& vect)
{
if(fiche.fail())
{
cout << "Erreur ouverture " << nomfichier << endl;
return;
}
enreg<type> monenreg;
monenreg.del=vect.size();
vector<type>::iterator deb = vect.begin();
while(deb!=vect.end())
{
monenreg.objet=(*deb++);
fiche << monenreg.del << " " << monenreg.objet << " ";
}
fiche << "";
}
enreg c'est ca ->
template <class type>
struct enreg
{
int del; //Flag pour suppr. logique
type objet; //Objet qui sera sauver
};
bon, donc, quand je veux sauver des personnes (oui, y'a ca),
ben j'ai les << et >> qui sont surchargés et ça va fort bien...
par contre, j'arrive pas a trouver comment je dois faire pour sauver
Centre (les << >> acceptent pas les vector)...
Y'aurait bien la version foutre un flag pour dire combien y'a de PersAdmin,
PersClient... mais c'est vachement goret...
Une idée ??
@+,
binny
ps: svp, l'exam est demain ;)) (oui, je sais, je suis à la bourre et j'ai
un uptime de 2 days, 11h08... donc faut m'excuser si je suis pas clair ou
que je trouve pas un truc qui doit être somme toute ridicule...
--
#ifdef FUNNY_MSGS
M_print ("No Mirabilis client was maimed, hacked, tortured,
sodomized otherwise harmed in the making of this utility.\n");
#endif
-- micq code
Benjamin Michotte <binny@baby-linux.net>
web : http://www.baby-linux.net
homepage : http://www.baby-linux.net/binny
icq uin : 99745024
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php ]
[ http://LinuxBe.org Contact: listmaster@linuxbe.org ]