Re: Массив любого типа
От: 8bits Россия  
Дата: 12.12.04 10:50
Оценка:
Здравствуйте, Чили, Вы писали:

Ч>Можно ли создать следущюю конструкцию,

Ч>void* New(<type>, int size)
Ч>{
Ч> return (void*)(new <type>[size]);
Ч>}
Ч>New(int, 5);
Ч>где <type> — имя типа данных?

Сделать то, что вы хотите, я не смог, но есть следующий вариант:
// main.cpp -----------------------------------------------
#include <cstdio>



template <class t, unsigned int size>
class array
 {
  public:
   //конструктор 
   array() { arrayPtr = new t [size]; }
   //деструктор
   ~array() { delete [] arrayPtr; }
   //не-const индексация
   t & operator[](unsigned int i) { return arrayPtr[i]; } 
   //const индексация
   const t & operator[](unsigned int i) const { return arrayPtr[i]; }
  private:
   t * arrayPtr;  
 }; 
 
 
 
int main()
 {
  array<int, 5> a;
  
  a[1] = 8;
  printf("a[1] is: %d\n", a[1]);
  getchar();
  return 0;
 } 
// конец main.cpp --------------------------------------------
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.