Re: Фича для расширения шаблонов в С++
От: _nn_ www.nemerleweb.com
Дата: 03.08.04 08:24
Оценка:
Здравствуйте, 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();
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.