class Sequence (virtuelle pure)
class Preview : public virtual Sequence (virtuelle pure)
class Track : public virtual Sequence (virtuelle pure)
class Video : public Track, public Preview
class Image : public Track, public Preview
class Titre : public Preview
Je ne dois créer que les classes Video, Image et Titre.
Je pensais créer une factory. J'ai lu Modern C++ Design d'Alexandrescu où
il donne l'exemple d'une object factory et d'une abstract factory.
Seulement je ne sais pas laquelle correspond le mieux à mes besoins...
Egalement, dans le bouquin, il crée les objets avec des constructeurs sans
arguments. Je suis là aussi obligé de faire comme ça et de définir par la
suite les caractéristiques de mes différents objets?
Ensuite il faudrait que je puisse trier ces séquences, déplacer une
séquence par rapport aux autres, etc...
Est-ce là aussi le rôle de la factory? Ou bien faut-il une autre classe qui
ne s'occuperait que de ça?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Arnaud Meurgues
Michael wrote:
Seulement je ne sais pas laquelle correspond le mieux à mes besoins...
Difficile de vous répondre sans connaître ces besoins.
Si votre but est de ne pouvoir instancier les classes abstraites, il suffit qu'elles aient une fonction virtuelle pure pour l'empêcher. Sinon, vous pouvez aussi mettre leur constructeur protected (seules les sous-classes pourront appeler leur constructeur).
Ensuite il faudrait que je puisse trier ces séquences, déplacer une séquence par rapport aux autres, etc...
Est-ce là aussi le rôle de la factory? Ou bien faut-il une autre classe qui ne s'occuperait que de ça?
A priori, une factory ne sert qu'à l'instantiation. Si vous stockez les objets quelque part, la factory n'en a cure. Une structure de données du genre std:list pourrait correspondre à votre besoin (ensemble ordonné, insertion facile (0(1)) pour déplacer les séquences,...).
-- Arnaud
Michael wrote:
Seulement je ne sais pas laquelle correspond le mieux à mes besoins...
Difficile de vous répondre sans connaître ces besoins.
Si votre but est de ne pouvoir instancier les classes abstraites, il
suffit qu'elles aient une fonction virtuelle pure pour l'empêcher.
Sinon, vous pouvez aussi mettre leur constructeur protected (seules les
sous-classes pourront appeler leur constructeur).
Ensuite il faudrait que je puisse trier ces séquences, déplacer une
séquence par rapport aux autres, etc...
Est-ce là aussi le rôle de la factory? Ou bien faut-il une autre classe qui
ne s'occuperait que de ça?
A priori, une factory ne sert qu'à l'instantiation. Si vous stockez les
objets quelque part, la factory n'en a cure. Une structure de données du
genre std:list pourrait correspondre à votre besoin (ensemble ordonné,
insertion facile (0(1)) pour déplacer les séquences,...).
Seulement je ne sais pas laquelle correspond le mieux à mes besoins...
Difficile de vous répondre sans connaître ces besoins.
Si votre but est de ne pouvoir instancier les classes abstraites, il suffit qu'elles aient une fonction virtuelle pure pour l'empêcher. Sinon, vous pouvez aussi mettre leur constructeur protected (seules les sous-classes pourront appeler leur constructeur).
Ensuite il faudrait que je puisse trier ces séquences, déplacer une séquence par rapport aux autres, etc...
Est-ce là aussi le rôle de la factory? Ou bien faut-il une autre classe qui ne s'occuperait que de ça?
A priori, une factory ne sert qu'à l'instantiation. Si vous stockez les objets quelque part, la factory n'en a cure. Une structure de données du genre std:list pourrait correspondre à votre besoin (ensemble ordonné, insertion facile (0(1)) pour déplacer les séquences,...).