Patron de classe et identification du type du parametre
Bonjour,
J'ai une classe template Bmp qui contient une image bitmap. Cette classe peut être instanciée
avec un type ou un type RBG24_t Gray_t.
Le RGB24_t contient:
un champ de 8 bits pour le rouge
un champ de 8 bits pour le vert
un champ de 8 bits pour le bleu
Le Gray_t contient:
-un champ de 8 bits pour l'intensité de gris
Je tiens à ajouter une méthode pour calculer l'intensité moyenne. mais elle doit travailler différemment
selon le paramètre:
Pour RGB24_t:
averageRed = somme de la composante rouge / nb pixels
averageGreen = somme des composante verte / nb pixels
averageBlue = somme des composante bleue / nb pixels
Pour Gray_t:
moyenne = somme de l'intensité de gris / nb pixels
La déclaration devrait ressembler a:
ComputeAverageIntensity int (composant char); / / le composant est «r», «g», «b», «a», où a est pour le gris.
Mais comment la méthode peut-elle connaître le type d'instanciation? Elle doit verifier que le «a» est utilisé uniquement quand Gray_t est utilisé, aucun r, g, b lorsque Gray_t est utilisé, seul r, g, b lorsque RBG24_t.
Vous pouvez proposer une autre mise en œuvre de la méthode, mais je ne peux pas changer le fait que la classe est un template.
je vous remercie!