Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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).
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).
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).