Bonjour,

j'ai un problème avec ces deux morceaux de codes:
C'est à dire que quand je compile il me dit qu'il y'a une erreur
dans le .cpp, il ne connait pas le " T " et il y'a une utilisation invalide
du template.

Je vous remercie d'avance pour votre aide !

Rq: Forme.h est la classe mère de Cercle

Cercle.cpp
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
 
#include <iostream>
#include <string>
 
#include "Cercle.h"
 
using namespace std;
 
template<typename T>
Cercle::Cercle(T p_rayon,string p_nom): rayon(p_rayon),Forme(p_nom)
{}
 
T Cercle:: getRayon(){
return rayon;
}
Cercle.h
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
 
#ifndef DEF_CERCLE
#define DEF_CERCLE
 
#include<string>
#include "Forme.h"
 
 
using namespace std;
 
template<typename T=int>//template par défaut = int
class Cercle : public Forme
{
public:
 
    Cercle(T p_rayon,string p_nom);
 
    T getRayon();
 
 
private:
 
    T rayon;
 
 
};
 
#endif