Bonjour à tous
Je voulais savoir si dans le cas que je vais vous exposer brièvement il serait possible de faire une factorisation de code qui serait utilisé dans 2 classes quasiment identiques.
Je travaille sur 2 classes Matrix.
La première classe est template :Cette classe utilise std::array et m'est utile pour pas mal de choses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 template<unsigned int Lines, unsigned int Columns, typename T> class Matrix {...};
Cependant, j'ai eu besoin de faire une classe matrix sans paramètres template de taille, qui ne pouvaient être déterminés à la compilation. C'est pourquoi j'ai une seconde classe Matrix qui utilise non pas des std::array mais des std::vector.
Ma question est donc la suivante : est-ce possible de mettre en facteur la quasi totalité du code des 2 classes (ce sont exactement les mêmes algo et types d'accès aux données) sachant que l'une des classes contient des paramètres template définis à la compilation et l'autre peut être ajustée à l'exécution ?
Je précise que la deuxième classe pourrait être utilisée à la place de la première mais que la première apporte une sécurité d'utilisation
Merci d'avance![]()
Partager