Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не понятно шо за ошибка? https://www.cyberforum.ru/ cpp-beginners/ thread854680.html
Здорова! Пытаюсь создать список вот код: #include <iostream> using std::cout; using std::endl; using std::cin; template<class T> class List//optimal6nui {
C++ Вычислить среднее геометрическое. ФУНКЦИИ
Вычислить среднее геометрическое для каждого элемента одномерного массива по следующему правилу : (см. картинку) Использовать функцию вычисления среднего геометрического одномерного массива.
Предел макисально целого числа C++
Подскажите пожалуйста, В СРР есть предел макисально целого числа он записан в long long int, есть ли какая-то возможность обойти этот предел. P.S. Если не понятно вышенаписанное, я имел ввиду, что...
C++ Поиск остовного леса методом Соллина Доброго времени суток. Передо мной встала задача найти остовной лес минимальной стоимости методом Соллина. Интернет предложил единственный вариант реализации данного алгоритма (приведён ниже). Сразу... https://www.cyberforum.ru/ cpp-beginners/ thread854651.html
C++ Итерационные и рекурсивные алгоритмы https://www.cyberforum.ru/ cpp-beginners/ thread854644.html
Вычислить на ЭВМ значение суммы членов бесконечного ряда с заданной точностью и значение суммы, определяемое пределом суммы ряда ( по формуле). Напечатать значения сумм и число циклов ряда, вошедших...
Чистая виртуальная функция C++
Скажите, может ли чистая виртуальная функция иметь тело? В книге написано что может, но не написано как. Пытался сам определить по-разному - не получилось. В интернете нашел пару примеров с телами,...
Надо написать функцию, которая по массиву действительных чисел x1, x2, ..., xn находит произведение положительных элементов массива C++
Надо написать функцию, которая по массиву действительных чисел x1, x2, ..., xn находит произведение положительных элементов массива.Вот у меня уже есть программа, только здесь для 10 элементов. Как...
C++ vector.clear У меня вопрос по поводу метода clear(). Пусть у меня в векторе было 30 элементов, после вызова этого метода их стало 0, поэтому size() тоже вернет 0. Но вот capacity() показывает 30, т.е. если я... https://www.cyberforum.ru/ cpp-beginners/ thread854581.html
C++ точность, настраиваемая вручную https://www.cyberforum.ru/ cpp-beginners/ thread854568.html
Мне нужно произвести расчет с точность 27 знаков после запятой. Long double не хватает. Как определить вручную? Добавлено через 2 часа 4 минуты :umnik:
C++ FreeConsole не работает FreeConsole не работает если программу запустить через другую программу командой system("start путь к программе"); а если саму программу без посторонних включить то работает, что делать https://www.cyberforum.ru/ cpp-beginners/ thread854559.html
276 / 275 / 83
Регистрация: 03.02.2013
Сообщений: 792
03.05.2013, 16:41 0

Ошибка в конструкторе копирования

03.05.2013, 16:41. Просмотров 488. Ответов 3
Метки (Все метки)

Ответ

oO
C++
1
2
3
4
5
6
7
8
9
10
Pol(Pol &e)  // конструктор копирования
   {
       Pol *z=new Pol();
       Element *i=e.first;  // указатель на первый элемент входного многочлена
       while(i)
       {
           cout << i->getData();
           Add(i->getData());  // добавить все элементы в многочлен
           i=i->next;
       }
копайте в теорию c начала, мой мозг отказался это вообще понимать

Pol *z=new Pol();
тут вы выделяете память для Pol, в адресе z, в конструкторе этот адрес не используете, по выходу из конструктора z как указатель помирает, память остаётся, непонятно зачем

далее

C++
1
Add(i->getData());
вообще шикарно, вы хотели прибавить к адресу функции getData() единицу что ли? дело в том, что как выполнится i->getData() она вернёт вам число в поле *(i->data) и никакой связи с полем иметь не будет

если эти измышления описать в более-менее логичном формате должно быть что-то типа такого
C++
1
2
3
4
5
6
7
8
9
10
11
Pol(Pol &e)
   {
       this->first = new Element;
       this->last = new Element;
       Element *i = this->first;
       while (i)
       {
             i->setData(i->getData()+1);
             i=i->next;
       }
   }
но опять же тут надо вникать в логику программы, чтобы знать что и куда копировать, а я всё больше вникаю в ваш конструктор копирования

Что самое странное, метод для добавления новых элементов многочлена работает нормально
ничего странного, там не вызывается конструктор копирования, вызывается впервые он у вас при передачи параметра b в функцию test, чтобы создать локальную копию Pol для внутренностей функции test

Вернуться к обсуждению:
Ошибка в конструкторе копирования
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2013, 16:41
Готовые ответы и решения:

Ошибка в конструкторе копирования C++
Помогите, пожалуйста создать конструктор копирования, который будет копировать элемент и добавлять...

Ошибка в конструкторе копирования
Всем привет, не могу понять проблему, у меня есть структура: struct WindowRender : public...

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

О конструкторе копирования
Доброго времени суток всем присутствующим. Интересует маленький вопрос. В 15-й строке происходит...

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