Re[2]: Это не правильно!
От: Рек Россия  
Дата: 05.04.02 10:52
Оценка:
Здравствуйте Аноним, Вы писали:

А>
А>class TCollect
А>{
А>public:
А>    TCollect(int aSizeIt);
А>    ~TCollect() { delete items; };
А>    int Count() const { return count; };
А>    UINT SizeBytes() const { return count*size_it; }
А>    UINT SizeElem()  const { return size_it; }
А>    char* At(int index) const { return items+(index*size_it); };
А>    BOOL Insert(int index, const void *item);
А>protected:
А>    char *items;
А>    int count;
А>    unsigned size_it;
А>};
А>template <class T> class TCollection : public TCollect
А>{
А>public:
А>    TCollection() : TCollect(sizeof(T)) {}
А>    BOOL Insert(const T &item, int i=-1) { return TCollect::Insert(i, &item); };
А>    T* At(int i) const { return (T*)TCollect::At(i); };
А>};
А>


А>всего


Это совершенно неправильный пример использования шаблонов!

Шаблоны как раз позволяют (и предназначены для того чтобы) такое не писать!

И даже не потому, что плохо написано.
Такое просто не работает!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.