Bonjour,
Je suis sous C++ builder 5.02.
Lorsque je compile le code suivant j'obtient le warning :
'D::f(int)' hides virtual fonction 'B::f(char)'
J'ai donc ajouté le using qui va bien de la façon suivante:
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 class B { public: virtual void f(char) { printf("In B::f()\n"); } }; class D : B { public: virtual void f(int) { printf("In D::f()\n"); f('c'); } };
Mais j'ai toujours le warning donc je voudrait savoir si l'instruction est supporté ou si j'ai fait une erreur ?
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 class B { public: virtual void f(char) { printf("In B::f()\n"); } virtual void f(int) = 0; }; class D : B { public: using B::f; virtual void f(int) { printf("In D::f()\n"); } };
Partager