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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| template <class result_type>
struct data
{
result_type dt;
};
template <class result_type>
class processing
{
private:
data* d_;
public:
processing(data* d);
void processing_function(result_type result);
processing& operator=(const processing& o) = default;
};
template<class result_type>
inline processing<result_type>::processing(data * d) : d_(d)
{
}
// SETTER
template<class result_type>
inline void processing<result_type>::processing_function(result_type result)
{
d_->dt = result;
}
int main(int argc, char* argv[])
{
data<int> da;
da.dt = 10;
processing<int> p(&da);
p.processing_function(308);
/* Peut-on garder les données de l'instance tout en modifiant le type template ? */
p.processing_function("test");
return 0;
} |
Partager