|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2010, 23:46 | #1 |
Новичок
Джуниор
Регистрация: 21.05.2010
Сообщений: 1
|
Шаблонный класс С++
Здравствуйте, Помогите пожалуйста написать программу.
Вот задание: Класс «Массив». Методы: объединение двух массивов, перестроение порядка следования элементов на противоположный, вывод элементов массива на дисплей. Вот наработки, только ничего не работает((( #include "stdafx.h" #include <iostream> using namespace std; template <class T> class Array { public: Array(int nSize); ~Array(); void Merge(int nSize); void revers(int nSize); void output(); private: T *p; int Size; }; template <class T> Array<T>::~Array() { delete [] p; }; template <class T> Array<T>::Array(int nSize) { Size = 2*nSize; p = new T[Size]; }; template <class T> void Array<T>:utput() { for (int i=0; i<Size; i++){ cout<<p[i]<<' ';} cout<<endl; }; template<class T> void Array<T>::Merge(int nSize) { //Выполнить слияние массива A, содержащего nA элементов, // и массива B, содержащего nB элементов. // Результат записать в массив C. T *A=new T[Size]; T *B=new T[Size]; int i(0), j(0); //Номера текущих элементов в массивах A и B while( i+j < Size*2 ) //Пока остались элементы в массивах { if( (j>=Size) || ( (i<Size) && (A[i]<=B[j]) ) ) { //Копирую элемент из массива A p[i+j] = A[i]; ++i; } else { //Копирую элемент из массива B p[i+j] = B[j]; ++j; } } } template <class T> void Matrix<T>::revers(T nSize) { for(int i = 0; i < Size; i++) { buf=p[i]; p[i]=p[Size-i]; p[Size-i]=buf; } cout<<endl; }; int main() { // Параметризация шаблона целым типом данных Array<int> iArray(3); iArray.Merge (3); iArray.output(); iArray.revers(4); iArray.output(); // Параметризация шаблона вещественным типом данных Array<float> fArray(3); fArray.Merge (3.1); fArray.output(); fArray.revers(2.11); fArray.output(); system("PAUSE"); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс | Chartvit | Visual C++ | 2 | 05.01.2011 22:20 |
Шаблонный класс | Ozerich | Общие вопросы C/C++ | 8 | 06.05.2010 02:18 |
Шаблонный класс | Syltan | Общие вопросы C/C++ | 2 | 22.11.2009 22:23 |
Шаблонный односвязный список | _ares_ | Общие вопросы C/C++ | 4 | 06.12.2008 21:35 |