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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2008, 08:21   #1
dubin
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 17
По умолчанию Класс матриц

Существует задача написать конструктор и деструктор для шаблона класса матриц который приведен ниже
Код:
#template <class t>
Class Matrix{
	t**pm;
short row, col;
public:
		Matrix(short,short);
		`Matrix();
}
Конструктор который я написал сам.
Код:
template <class t>
Matrix  <t>:Matrix(short r, short c):pm(new t*[r], row(r), col(c){
	For(short i=0; i<r; i++){
		&m[i]=new t[c];
}
}
Работает прекрасно, но для инициализации матрицы приходиться писать например Matrix <int> mymatr(2,2), а необходимо написать такой конструктор который бы позволил инициализировать матрицы с помощью [] и при том любой размерности. Как такой конструктор написать?
dubin вне форума Ответить с цитированием
Старый 17.12.2008, 15:39   #2
theos
Форумчанин
 
Аватар для theos
 
Регистрация: 10.12.2007
Сообщений: 158
По умолчанию

> инициализировать матрицы с помощью []

Вопрос: зачем? Вообще [] при инициализации будет в любом случае просто создавать статический массив подобных объектов и переопределить это дело нельзя. Или я что-то путаю? Другое дело, что можно переопределить оператор [] для класса, чтоб например получать ссылки на элементы матрицы через такие скобки.

> любой размерности

Эээ, может всё таки размера а не размерности? Размер у вас с таким конструктором и так любой вроде.
Только писать надо не
Код:
&m[i]=new t[c];
, а
Код:
m[i]=new t[c];
В деструкторе не забудьте всю память освободить.
theos вне форума Ответить с цитированием
Старый 17.12.2008, 17:43   #3
dubin
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 17
По умолчанию

Вобще использовать [] преподаватель попросил, но раз нельзя, то оставлю старый вариант. Спасибо за ответ.
dubin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20
Решение матриц DJ DIMON Паскаль, Turbo Pascal, PascalABC.NET 1 08.12.2008 13:07
Перемножение матриц Арина Помощь студентам 1 18.05.2007 19:21