2010-10-22 6 views
1

Je ne comprends pas l'affectation dans la ligne suivante. Je pense, setBit est une fonction mais elle est affectée d'une valeur.ce qui signifie ce signe d'affectation

bool setBit(const unsigned int which) = 0; 
+0

-1 petit fragment de code hors contexte –

Répondre

4

Ceci est une fonction virtuelle. lorsque vous déclarez une fonction et affectez 0 vous créez une fonction sans une implémentation

Lorsque vous héritez cette classe, vous pouvez les créer une mise en œuvre concrète de cette fonction

11

Ce n'est pas l'affectation. Il indique un pure virtual function. Une classe avec une ou plusieurs fonctions virtuelles pures est appelée une "classe abstraite" et ne peut pas être instanciée seule. Les classes dérivées doivent implémenter la fonction afin d'éviter d'être elles-mêmes des classes abstraites. Donc la signification de =0 est ici, "mes classes dérivées fourniront cette fonction".

3

Je suppose que vous avez manqué le mot virtuel avant bool. C'est la déclaration d'une fonction abstract dans une classe. En C++, les fonctions abstraites sont appelées fonctions virtuelles et vous dites au compilateur qu'il est abstrait en spécifiant = 0 à la fin de la déclaration.