ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Шаблоны классов
  #1  
Старый 29.11.2008, 18:35
A-Spt_N(o)
Познающий
Регистрация: 07.04.2007
Сообщений: 48
Провел на форуме:
199652

Репутация: 8
По умолчанию Шаблоны классов

Готовлю защиту по лабораторной работе...
не могу понять в чем ошибка:
Код:
#include <assert.h>
#include <iostream>
#include "template.h"

using namespace std;

// ОШИБКА В ЭТИХ СТРОЧКАХ!!!
template class ARRAY<int, int, int>;
template class ARRAY<double, int, int>;

// Конструктор
template <class Type, int low, int hight>
ARRAY<Type, low, hight>::ARRAY()
{	// Забиваем массив нулями
	for( int i = low; i <= hight; i++ ) { arr[i] = 0; }
}

// Деструктор
template <class Type, int low, int hight>
ARRAY<Type, low, hight>::~ARRAY(){}

// Поместить елемент в массив
template <class Type, int low, int hight>
void ARRAY<Type, low, hight>::PUT(Type num, int pos)
{	
	if( low <= pos && pos <= hight ) { arr[pos] = num; }
	else cout << "ERROR POSITION!!!" << endl;
}

// Удалить елемент из массива
template <class Type, int low, int hight>
void ARRAY<Type, low, hight>::PUSH( int pos )
{	
	if( low <= pos && pos <= hight ) { arr[pos] = 0; }
	else cout << "ERROR POSITION!!!" << endl;
}

// Печать массива
template <class Type, int low, int hight>
void ARRAY<Type, low, hight>::print() const
{
	cout << "Array: \t";
	// Выводим массив
	for (int i = low; i < hight; i++) { cout << "\t" << arr[i] << " "; }

	cout << endl << "index_x: " << x	 // Вывод нижней границы
	     << endl << "index_y: " << y	 // Вывод верхней границы
		 << endl << endl;
}

// Перегруженная операция индексации
template <class Type, int low, int hight>
Type &ARRAY<Type, low, hight>::operator[]( int subscript )
{
	// Проверка ошибочного выхода индекса из диапозона
	assert( low <= subscript && subscript < hight );

	return arr[subscript];
}

Последний раз редактировалось scrat; 30.11.2008 в 12:37..
 
Ответить с цитированием

  #2  
Старый 29.11.2008, 19:26
A-Spt_N(o)
Познающий
Регистрация: 07.04.2007
Сообщений: 48
Провел на форуме:
199652

Репутация: 8
По умолчанию

Неужели тут нет людей разбирающихся в С++??
 
Ответить с цитированием

  #3  
Старый 30.11.2008, 10:30
Shaitan-Devil
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме:
3009843

Репутация: 204
По умолчанию

В чем цель программы?
 
Ответить с цитированием

  #4  
Старый 30.11.2008, 15:32
A-Spt_N(o)
Познающий
Регистрация: 07.04.2007
Сообщений: 48
Провел на форуме:
199652

Репутация: 8
По умолчанию

та какая разница в чем суть программы... мне надо исправить те две строчки объявления шаблона...

Изначально было

template class ARRAY<int>;
template class ARRAY<double>;

и все нормально работала... лабораторку я показал все отлично. на защиту меня попросили немного переделать программку
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шаблоны Temlate Monster Onyx Болталка 7 06.07.2007 22:46
Создание классов в Php steamer PHP, PERL, MySQL, JavaScript 6 20.12.2006 22:47
Планирование классов ChieFSS PHP, PERL, MySQL, JavaScript 6 15.12.2006 22:54
Шаблоны для Битрикс bagle007 Болталка 2 29.04.2006 22:08
Шаблоны сайтов Гаврила Разное - Покупка, продажа, обмен 3 10.03.2006 10:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ