Dans le programme C++:fonctions virtuelles pures
#include<iostream.h>
class A
{
public: virtual void func()=0;
};
class B:public A
{
public: void show()
{
func();
}
};
void B::func()
{
cout<<"In B"<<endl;
}
int main()
{
B b;
b.show();
}
Si la fonction virtuelle, func() est redéfinie dans le corps de la classe B, il n'y a pas d'erreur. Mais lors de l'utilisation de l'opérateur de résolution d'étendue, le compilateur renvoie une erreur. Pourquoi est-ce?
pas directement à voir avec votre question, mais l'en-tête standard est, pas –
iostream.h est ancienne Wich standard peut également être utilisé bien pas recommandé –