Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 17:08   #1
sasns
Новичок
Джуниор
 
Регистрация: 18.01.2013
Сообщений: 2
Вопрос С++ задача

Доброго всем время суток! У меня экзамен по c++ для того чтобы попасть на него, мне нужно сделать программу. Задание: Реализовать класс-шаблон который будет выводить динамический массив любого типа.
class c{
T*p;
int i;
.
.
.
.
.
}

При это должен быть использован конструктор и деструктор.
sasns вне форума Ответить с цитированием
Старый 18.01.2013, 17:19   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

напиши класс-"не шаблон", который будет выводить....только целого типа(например)
а мы допишем к этому шаблон )
или пиши что конкретно не получается.
rrrFer вне форума Ответить с цитированием
Старый 18.01.2013, 18:03   #3
sasns
Новичок
Джуниор
 
Регистрация: 18.01.2013
Сообщений: 2
По умолчанию

#include <iostream>
using namespace std;
class C
{
public:
int element;
};
int main()
{
int i,j,n;
C ob[2];
for(i=0;i<2;i++)
{
cout«"enter elements"«"\n";
cin»n;
ob[i].element=n;
}
for (j=0;j<2;j++)
{
cout «"element"«j+1« ":"«ob[j].element«"\n";
}
return 0;
}

Как то так. Надо сделать шаблон для разных типов и работало через конструктор и диструктор.
sasns вне форума Ответить с цитированием
Старый 18.01.2013, 18:26   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
template<class T>
class SomeClass {
   T *arr_;
   int n_;
public:
   SomeClass(int n, T* arr) : n_(n) {
      arr_ = new T[n_];
      for(int i = 0; i < n_; ++i)
           arr_[i] = arr[i];
   }
   ~SomeClass() { 
        delete []arr_;
   }
   void out(std::ofstream &ofst) {
      for(int i = 0; i < n_; ++i)
         ofst << arr_[i];
   }
}
не проверял, тут точно куча опечаток

Код:
#include <iostream>
template<class T>
class SomeClass {
   T *arr_;
   int n_;
public:
   SomeClass(int n, T* arr) : n_(n) {
      arr_ = new T[n_];
      for(int i = 0; i < n_; ++i)
           arr_[i] = arr[i];
   }
   ~SomeClass() { 
        delete []arr_;
   }
   void out(std::ostream &ofst) {
      for(int i = 0; i < n_; ++i)
         ofst << arr_[i];
   }
};
int main() {
  int *arr;
  const int n = 5;
  
  arr = new int[n];
  for(int i = 0; i < n; ++i)
    arr[i] = i;
  
  SomeClass<int> obj(n, arr);
  
  obj.out(std::cout);
  
  delete []arr;

  return 0;
}

Последний раз редактировалось Stilet; 18.01.2013 в 21:39.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51