Quel serait le meilleur algorithme pour le problème ci-dessous.Algorithme pour le problème vectoriel
Mettre en œuvre la méthode PrintFamilyTree() qui imprime le nom et la génération de l'arbre
sortie devrait ressembler à
Nom: Jan Generation: 0
Nom: Mike Generation: 1
Nom: Greg Generation: 2
nom: Carol: génération: 2
nom: Peter Generation: 3
nom: Marcia Generation: 3
nom: Bobby Generation: 1
class Human : public std::vector<Human *>
{
public:
Human(const std::string &name) : m_Name(name) {};
virtual void PrintFamilyTree(const short &generation = 0) const;
protected:
std::string m_Name;
};
class Male: public Human
{
public:
Male(const std::string &name) : Human(name) {};
};
class Female: public Human
{
public:
Female(const std::string &name) : Human(name) {};
};
void main()
{
Male m1("Mike"), m2("Greg"), m3("Peter"), m4("Bobby");
Female f1("Carol"), f2("Marcia"), f3("Jan");
m1.push_back(&m2);
f1.push_back(&m3);
f1.push_back(&f2);
m1.push_back(&f1);
f3.push_back(&m1);
f3.push_back(&m4);
f3.PrintFamilyTree();
}
On dirait que les devoirs? – Guge
Vous ne devriez pas vraiment hériter des conteneurs STL ... –
En note: Vous ne devriez pas dériver de conteneurs std (puisqu'ils n'ont pas dtors virtuel), à la place ... faire une classe d'adaptateur :) – Christian