OVH Cloud OVH Cloud

Question de dérivation

1 réponse
Avatar
ByB
Bonjour,

J'ai une question concernant la dérivation : soit une classe A qui
possède (entre autres) une méthode statique A::methodeStatique()

Je développe une application qui utilise la classe A et sa méthode
statique un peu partout.

Maintenant, je crée une classe B qui dérive de A. Je dérive les
méthodes de B pour spécialiser la classe, mais que faire de la méthode
statique ?

Merci.

--
Una persona que tenga cuatro ojos ve mas que dos personas que tengan
uno solo. (Chespirito).

1 réponse

Avatar
Alexandre
bonjour,

J'ai une question concernant la dérivation : soit une classe A qui possède
(entre autres) une méthode statique A::methodeStatique()

Je développe une application qui utilise la classe A et sa méthode
statique un peu partout.

Maintenant, je crée une classe B qui dérive de A. Je dérive les méthodes
de B pour spécialiser la classe, mais que faire de la méthode statique ?


Tu ne peux pas la redéfinir, static et virtual ne sont pas compatibles. Et
c'est assez logique, puisqu'une méthode statique ne possède pas this, ne
peut donc pas effectuer de test sur son type réel... Pour appeler
A::methodeStatique(), tu dois absolument appeler A::methodeStatique. A noter
que normalement, le code suivant devrait marcher :

B b;
b.methodeStatique(); // doit appeler A::methodeStatique() si l'héritage
de A vers B est public


Merci.

--
Una persona que tenga cuatro ojos ve mas que dos personas que tengan uno
solo. (Chespirito).