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

шаблон класса вектор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в поиску дерева http://www.cyberforum.ru/cpp-beginners/thread389928.html
Не могу найти в чем ошибка, должен производиться поиск по всему дереву, а он дальше первого уровня не идет. #include <cstdlib> #include <iostream> #include <vector> #include <string> using namespace std; //Class drzewa
C++ Чтение строки неизвестной длины реализация на СИ как прочитать строку неизвестной длины? Чтение должно быть не посимвольным. Строка вводиться вручную. http://www.cyberforum.ru/cpp-beginners/thread389914.html
Обработка изображений C++
Здравствуйте, помогите пожалуйста с алгоритмом или написанием программы на с++. Задача такая: нужно на jpeg/bmp фотографии определить тень.
Проверить, превосходят ли элементы строк матрицы заданное число C++
ребят выручайте нужен код по этой проге срочно в универе уже ругаются((( Дано натуральное число N, вещественная матрица N x N , вещественное число x. Получить последовательность из 0 и 1 (b1,b2,...bn), где bi=1, если элементы i-той строки не превосходят x1 и b1=1,в противном случае.
C++ Call of nonfunction http://www.cyberforum.ru/cpp-beginners/thread389894.html
#include <stdio.h> #include <conio.h> #include <math.h> double eps = 1e-9; int k; //------------epsilon double ep (double x) { int i; double q,a,s; i = 0; s = a = 1;
C++ Выведите числа в порядке возрастания Отсортируйте заданный массив. Первая строка входных данных содержит количество элементов в массиве N, N ≤ 105. Далее идет N целых чисел, не превосходящих по абсолютной величине 10^9. Выведите эти числа в порядке возрастания. Пример: Входные данные: 3 2 3 1 Выходные данные: 1 2 3 подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
25.11.2011, 20:14     шаблон класса вектор
Цитата Сообщение от lis154 Посмотреть сообщение
Я наверно еще плохо в этом разбираюсь. Можете поподробнее объяснить про копирующий оператор присваивания?)
В вашем классе должен быть определен конструктор копирования и копирующий оператор присваивания, иначе у вас может возникнуть утечка памяти. Либо, если вы не хотите, чтобы один объект вашего класса присваивался другому объекту вашего класса, то можно их объявить закрытыми членами класса и не определять.

Определение копирующего оператора присваивания для вашего класса может выглядеть следующим образом

C++
1
2
3
4
5
6
7
8
9
10
11
template <class T, int Size>
cVector<T, Size> & cVector<T, Size>::operator =( const cVector<T, Size> &rhs )
{
 
   if ( this != &rhs )
   {
      std::copy( rhs.m_data, rhs.m_data + Size, m_data );
   }      
 
   return ( *this );
}
Вместо стандартного алгоритма std::copy, объявленного в <algorithm> вы сами можете поэлементно в цикле скопировать один массив в другой.
 
Текущее время: 15:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru