parent
cea2ad2d50
commit
57365b319b
@ -0,0 +1,43 @@
|
||||
#ifndef CONTACT3_hpp
|
||||
#define CONTACT3_hpp
|
||||
#include<list>
|
||||
#include<iostream>
|
||||
#include<set>
|
||||
|
||||
#include "Personne3.hpp"
|
||||
|
||||
namespace reseau2{
|
||||
class Contact {
|
||||
public:
|
||||
virtual std::list<const Personne*> getValue() = 0;
|
||||
virtual void ajtContact(const Personne& p) = 0;
|
||||
virtual ~Contact() = default;
|
||||
};
|
||||
|
||||
class ListeContact : public Contact {
|
||||
std::list<const Personne*> personnes;
|
||||
public:
|
||||
std::list<const Personne*> getValue() override;
|
||||
void ajtContact(const Personne& p) override;
|
||||
};
|
||||
|
||||
class LiaisonPersonne {
|
||||
const Personne* envoyeur;
|
||||
const Personne* destinataire;
|
||||
public:
|
||||
LiaisonPersonne(const Personne *envoyeur, const Personne *destinataire);
|
||||
const Personne *getEnvoyeur() const;
|
||||
const Personne *getDestinataire() const;
|
||||
};
|
||||
|
||||
class Conteneur : public Contact {
|
||||
Personne* pers;
|
||||
std::list<LiaisonPersonne> personnes;
|
||||
public:
|
||||
Conteneur(Personne *pers);
|
||||
std::list<const Personne*> getValue() override;
|
||||
void ajtContact(const Personne& p) override;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in new issue