Type erasure et accesseurs
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:
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) ?