Héritage privé et opérateur de conversion
Bonjour à tous (ça faisait longtemps ><) !
En dehors de tout problème de design, pourquoi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Class A {};
Class B : A {
public:
operator A() { // Mais quelle utilité me direz-vous ??
return *static_cast<A*>(this);
}
};
int main() {
B b;
A(b);
return 0;
} |
Me renvoie boulet méchamment en clamant au scandale parce que mon héritage est privé ? :bug:
Honnêtement, ça m'a étonné. Je pensais qu'au pire, il arriverait pas à trouver ce qu'il faut faire... mais là !
J'ai un peu cherché dans la norme, mais j'ai rien trouvé... Même pas un comportement indéfinie.... :'( !
Merci de m'éclairer de vos illustres lumières :ange: