Bonjour à tous,
Je n’écris pas souvent mais je passe souvent pour lire en guest. Voici ma petite question de codeur C++ du dimanche : comment puis-je copier une classe A dans une classe A’ « semblable » ?
Le contexte.
Je reprend une appli C++/wxWidget et je cherche à la rendre plugin-based pour pouvoir faire des upgrades en changeant une dll seulement.
J'ai actuellement une classe A qui fait lecture d'un fichier + stockage des données, les données sont complexes et ont necessité de définir quelques sous-classes pour le stockage. J'aimerais garder le classe A dans le soft pour le stockage des données mais j'aimerais sortir la partie lecture dans un plugin.
Ce que j'aimerais faire
Coller ma classe A dans mon plugin pour la lecture ("soft, tu lis et tu ranges les données dans une forme A") puis rappatrier les données dans mon soft pour les utiliser ("soft, tu copies l'objet A qui vient du plugin comme si c'était un objet A à toi et tu l'utiliseras comme ça").
Problématique
1/ J'ai des attributs avec des types custom (ma classe "A" contient des privates de type "B") qu'il faut que je ramene dans le plugin
2/ Si A==A (et B==B) au début, par la suite l'idée c'est que ça bouge : j'aurais du A, codé avec mes petits doigts et du A' codé par un tiers. Or je ne maitrise pas la copie des trucs un peu bizarre.
J'ai pensé aux derivées (tiens, si A et A' derivent de la meme classe, ça pourra peut etre marcher) mais j'ai un doute
J'ai pensé aux interfaces (mais je galère bien, j'ai découvert ça avec les plugins et je suis pas à l'aise du tout).
Une âme charitable pourrait elle m'aiguiller ?
Merci d'avance,
Julien K
Comment, le plus simplement possible, vous feriez pour faire un truc du genre : maClasseCustomA=maClasseCustomABidouilléeParUnTier ?
Partager