Здравствуйте, Kluev, Вы писали:
K>Как жаль что в качестве параметра шаблона нельзя использовать имя (symbol) на базе которого можно было бы создавать имена функций, переменных и т.п.
Жаль...
K>Вот пример:
K>K>template <class T, symbol Name>
K>class Property {
K> T Name.value_;
K>public:
K> T Name.get() { return Name.value_; }
K> void Name.set( const T &val ) { Name.value_ = val; }
K>};
K>
Можно сделать так :
#define Property(T,Name) \
class Property { \
T Name.value_; \
public: \
T Name.get() { return Name.value_; } \
void Name.set( const T &val ) { Name.value_ = val; } \
};
//
Property(int,m) x;
x.set(1);
int y = x.get();