Bonjour, j'ai mis en place le pattern type erasure en C++, c-a-d que je masque une classe template avec une classe abstraite

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
class Base{
 
     virtual ~Base(){}
 
     //méthodes virtuelles pures
}
 
template<typename T>
class Derived : Base{
 
Derived<T>(){}
~Derived(){}
 
//méthodes publiques
 
private :
vector<T> datas;
 
}
problème : si je veux faire récupérer ou modifier datas, je dois passer par Base

comment dois je définir les accesseurs getDatas() et SetDatas(vector<T> datas) ?