Héritage et appel des constructeurs parents
Salut à tous
Je rencontre un petit souci quant à l'appel du constructeur de ma classe parent.
En fait, je voudrais un peu simplifier l'écriture, car, vous le verrez, c'est assez moche :P
En bref, j'ai une classe Button qui hérite de Rect.
Rect prend en paramètre 4 points pour former ses boundaries.
Button prend en paramètres une destination, un x et y de départ (par unités de 8 points), une chaîne et une couleur.
Code:
1 2 3
| Button(u16 *dest, int x, int y, const char *str, unsigned short color)
: Rect(x * 8 - 1, y * 8 - 1,
x * 8 + strlen(str) * 8 + 2, y * 8 + 10) { |
Affreux, pas vrai ? Et le pire, c'est que ce sont des valeurs que je dois réutiliser (notamment le strlen).
Est-il possible de le faire de manière plus propre ? Une solution à la Java serait pas mal, un peu comme ceci:
Code:
1 2 3 4 5 6
| Button(u16 *dest, int x, int y, const char *str, unsigned short color) {
int XStart = x * 8;
int yStart = y * 8;
int len = strlen(str);
Rect(XStart - 1, YStart - 1, XStart + len * 8 + 2, YStart+ 10); |
Ne vous formalisez-pas pour l'emploi des char * et strlen en C++, ce n'est pas négociable avec le matériel :P