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

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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