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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2016, 11:51   #1
Cannibal
Форумчанин
 
Регистрация: 17.02.2008
Сообщений: 191
По умолчанию C++ Перегрузка опреатора

Всем привет. Стоит задача написать шаблон класса для работы со множествами. Загвоздка возникла при реализации перегрузки присваивания. Написал следующий код:
Код:
template <class T>
Set<T>& Set<T>::operator = (const Set<T>& s)
{ //аналогично конструктору копирования
	Set<T> tmp;
	tmp.power = s.power; //копируем мощность
	for (int i = 0; i < s.power; ++i) //копируем данные
		tmp.set[i] = s.set[i];
	return tmp;
}
где power - целочисленное поле.

Проблема в том, что после копирования мощности. Когда в отладчике до него доходит, s.power становится равным -858993460 и соответственно, копирование не происходит.
Причем, если реализовывать не шаблон, а для int например, то все работает.
Может есть какие-то тонкости в работе с шаблонами?
Mathematicians often mix up Christmas and Halloween, because Dec.25=Oct.31.

Последний раз редактировалось Cannibal; 29.11.2016 в 15:21.
Cannibal вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка Samon C# (си шарп) 0 04.11.2016 13:33
Перегрузка в с++ McToNy Общие вопросы C/C++ 2 17.12.2012 20:06
перегрузка [] monolit111 Общие вопросы C/C++ 2 10.12.2011 20:25
перегрузка DRELORD Помощь студентам 1 22.04.2010 09:54