Bonjour

Je recherche des conseils pour refactoriser mon code C++.

J'ai réalisé plusieurs classes de type DefautFoo de la forme suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
#ifndef DEFAULT1_H
#define DEFAULT1_H
[...]
 
class default1
{
public:
    DLLEXP void initialize(const char* filepath);
    DLLEXP void learn(object info, std::vector<object>& other, std::vector<object>& target,  int& ret );
    DLLEXP void recall( std::string Filename,   std::vector<std::string>& oldValue,   std::vector<std::string>& newValue);
    DLLEXP void getDefault( const cv::Mat& src,  std::string &res, unsigned int rstep, unsigned int dstep );
 
private   
    std::string defaultType = "default1";
};
 
#endif //DEFAULT1_H
Sur les classes défauts, j'ai des différences :
  • le prototypes des fonctions est différents pour certain type de défaut
  • la valeur de defaultType est différentes
  • la fonction getDefaut peut avoir une implémentation différente avec le prototype de la fonction identique.


Je cherche à optimiser le code en POO, quelle peut être la meilleure stratégie ?
Merci de vos avis.