Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
s050102326
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 4
#1

Правильная перезагрузка оператора ''='' - C++

04.01.2012, 16:30. Просмотров 987. Ответов 2
Метки нет (Все метки)

совсем недавно начал работать с шаблонами, и возникла такая проблема:
имеется шаблонный класс - вектор:

Код
template<class T> class cvector
{private:
T   *data;
int size;
public:
...    
cvector& operator=(const cvector &C){
if(this==&C)return *this;
delete[] data;
data=new T[size=C.size];
for(int i=0;i<size;i++)data[i]=C.data[i];
return *this;};
...};
как правильно перегрузить оператор ''='', чтобы такой код работал:

Код
cvector<double> a(2);
cvector<int> b(2);
a=b;
заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2012, 16:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Правильная перезагрузка оператора ''='' (C++):

перезагрузка оператора равно - C++
struct pointer_command { public: void * x; public: void set(void * y){x = y; } void operator = (void * y ) {x = y;} void*...

Классы (константный метод и перезагрузка оператора равно) - C++
ПОМОГИТЕ ПОЖАЛУЙСТА, ЧТО НЕ ТАК???!!!! илл как тогда сделать правильно???? Очень очень надо(( Дано было задание: 1)Создать класс 2)...

Перезагрузка оператора "=" для двух классов - C++
Есть такой исходник с двумя классами, но не работает перегрузка оператора &quot;=&quot; #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...

Избыточное копирование объекта при реализации оператора умножения и оператора присваивания - C++
Есть класс работы с матрицами. Есть операция умножения матриц, описанная как оператор класса. В данном коротком примере я просто моделирую...

Придумайте простую программу с использованием условного оператора IF и оператора switch - C++
Пожалуйста, придумайте простую программу с использованием: условного оператора IF и оператора switch . Эти программы должны быть...

Неправильная работа оператора присваивания после работы оператора суммирования - C++
Доброго времени суток. У меня есть класс вектор class TVector {//ewde public: TVector(); //Vector(Vector &amp;v); TVector(int...

2
(Phantom)
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 86
05.01.2012, 12:16 #2
Зделать operator= тоже шаблоном.

template<class T, class T1>
cvector<T>& cvector<T>::operator=(class cvector<T1> &vector )
{
...
}

PS: Компилятора под рукой нет. Но идея думаю понятна.
0
s050102326
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 4
05.01.2012, 17:52  [ТС] #3
Спасибо!!!
Реализация оказалась немного не такой (заморочки какие-то, вместо
Код
template<class T, class T1>
надо писать
Код
template<class T> template<class T1>
), но идея была верна.

Если интересно:
"C++ Templates: The Complete Guide", By David Vandevoorde, chapter 5.3: Member templates.
скачать можно здесь:
http://www.winux.net.ru/lofiversion/index.php/f11.html/lofiversion/t4280.html
(CHM, 700Kb)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2012, 17:52
Привет! Вот еще темы с ответами:

Вызов прегруженного оператора вывода в поток из аналогичного оператора - C++
Программирую в c9.io с g++ получается тоже самое. Элементами стека(pointList) являются стеки(list) для которых уже определен оператор...

Сравнить два целых числа, не используя условного оператора, оператора выбора и так же символов сравнения - C++
Добрый день уважаемые программисты, хотелось, чтобы вы помогли мне в решении одной задачи, а именно подсказали идею решения. Задача...

сочетания оператора цикла и условного оператора - C++
Известна оценка каждого ученика по физике, посчитать сколько пятерок, количество человек в классе, четверок, трояк, и двоек..

Сочетания оператора цикла и условного оператора - C++
вывести на экран все числа a от до b , кратные некоторому числу c


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru