Bonjour,
Je suis entrain de mettre en place un ensemble de classes générique. Mais certaines fonctions doivent obligatoirement être surcharchés pour que le programme fonctionne correctement.
D'où l'utilisation de fonction virtuel pure.
Par contre, je viens de faire un test, j'ai créer une classe fille sans les fonctions virtuel pure et je n'ai AUCUNE erreur de compilation.
C'est pas normal !!! Le principe c'est justement d'avoir des erreurs. Non ?
Voici le code de la classe mère :
Et le code de la classe fille:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 class CGraphObjCfg; class CGraphObjContext; class CGraphObj : public CObject { public: // Constructeurs CGraphObj(CGraphObjContext * pContext); // Destructeur virtual ~CGraphObj() = 0; // Duplication // ----------- // Permet de copier les données de 'pSrc' vers l'objet courant virtual void Copy ( CGraphObj * pSrc ) = 0; // Permet de créer un objet identique (classe & données) à l'objet courant virtual CGraphObj * Clone ( ) = 0; protected: // Gestion de la configuration // --------------------------- // Ajout la configuration 'pConfig' dans la liste int AddConfig ( CGraphObjCfg * pConfig ); // Permet de supprimer une configuration, sélectionnée par 'nIndex', de la liste // Elle peut, selon 'bDelete', supprimer la configuraiton de la mémoire BOOL RemoveConfig ( int nIndex, BOOL bDelete = TRUE ); // Retourne la configuration sélectionné par 'nIndex' CGraphObjCfg * GetConfig ( int nIndex ); // Contexte d'utilisation de l'objet courant CGraphObjContext * m_pContext; private: // Liste des configuraitons de l'objet courant CArray < CGraphObjCfg *, CGraphObjCfg * > m_arpConfigs; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class CGraphObjContext; class CGraphObjLabel : public CGraphObj { public: // Constructeurs CGraphObjLabel(CGraphObjContext * pContext); // Destructeur virtual ~CGraphObjLabel(); };
Partager