Comment configurer une classe qui représente une interface? Est-ce juste une classe de base
Comment configurer une classe qui représente une interface? Est-ce juste une classe de base
Ma compréhension de base est qu'il n'y a pas d'implémentation pour une fonction virtuelle pure, cependant, on m'a dit qu'il pourrait y avoir une implémentation pour une fonction virtuelle pure. class A { public: virtual void f() = 0; }; void A::f() { cout<<"Test"<<endl; } Le code...
Est-ce mal d'écrire: class A { public: virtual ~A() = 0; }; pour une classe de base abstraite? Au moins cela compile dans MSVC ... Est-ce que ça plantera au moment de
Je comprends la nécessité d'un destructeur virtuel. Mais pourquoi avons-nous besoin d'un pur destructeur virtuel? Dans l'un des articles C ++, l'auteur a mentionné que nous utilisons un destructeur virtuel pur lorsque nous voulons créer un résumé de classe. Mais nous pouvons créer une classe...
Nous déclarons toujours une fonction virtuelle pure comme: virtual void fun () = 0 ; C'est-à-dire qu'il est toujours attribué à 0. Ce que je comprends, c'est qu'il s'agit d'initialiser l'entrée vtable pour cette fonction à NULL et que toute autre valeur ici entraîne une erreur de compilation. Cette...
Je remarque parfois des programmes qui plantent sur mon ordinateur avec l'erreur: "appel de fonction virtuelle pure". Comment ces programmes se compilent-ils même lorsqu'un objet ne peut pas être créé à partir d'une classe