64 votes

Que signifie définir la déclaration d'une fonction égale à 0 ? Comment affecter un entier à une fonction ?

Je parcourais les sources d'une boîte à outils GUI (je préfère ne pas nommer) qui encapsulait l'API Windows lorsque j'ai trouvé la définition de fonction suivante dans la classe de fenêtre :

  virtual LRESULT CALLBACK wndProc (HWND, UINT, WPARAM, LPARAM) = 0;

Que se passe-t-il ici? Comment attribuer une fonction à un entier ? Ou l'attribue-t-il à NULL ? Avez-vous besoin de le faire si vous souhaitez utiliser des pointeurs de fonction dans le wndproc ?

5voto

Uwe Keim Points 15221

Il s'agit d'une fonction «  pure virtuelle » que vous devez surcharger dans une classe dérivée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X