Bonjour,
Voila j'ai un petit problème, enfin plutôt qqchose que je ne comprends pas ..
Exemple simple :
Voila le problème : quand on surcharge une méthode d'un classe template, on ne peux plus avoir accès a la méthode de base... Si on commente la surcharge de méthode dans la classe Test cela marche...
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 template<typename T> class TClass { public: T mean() { return (T)666; } }; class Test : public TClass<float> { public: float mean(uint i) { return 555.0; } }; int main() { Test t; std::cout << t.mean() << std::endl; return EXIT_SUCCESS; }
POURQUOI ? je ne comprends pas ...
Quelle est la solution, a part ajouter
dans la classe Test ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 float mean() { return TClass<float>::mean(); }
Cordialement
Partager