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

Не работает конструктор копирования почему-то... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно разобрать задачу http://www.cyberforum.ru/cpp-beginners/thread552927.html
#include "stdafx.h" #include "chess.h" using namespace std; horse targetHorse;// переменная, хранящая координаты цели - той точки, куда необходимо добраться vector <horse> turns;//контейнер, содержащий всю последовательность ходов int _tmain() { horse chessHorse;//переменная, которая будет содержать текущие координаты коня // ввод данных с проверкой нахождение коня и его цели на доске,...
C++ Элементы матрицы, стоящие на пересечении нечетных строк и нечетных столбцов, заменить переменной помогите решить!!!!!! элементы матрицы Q,стоящие на пересечении нечетных строк и нечетных столбцов заменить переменной P. Пожалуйста, помогите!!! http://www.cyberforum.ru/cpp-beginners/thread552912.html
Записать в дополнительный столбец значение удвоенного минимального каждой строки матрицы C++
записать в дополнительный столбец значение удвоенного минимального каждой строки матрицы О(6,6)
Удалить из каждой строки матрицы все элементы, величина которых находится в отрезке (a,b) C++
удалить из каждой строки двумерного массива все элементы ,величина которых находится в отрезке (a,b), а освободишихся в концах строк элементы заполнить нулями.
C++ интеграл методом касательных http://www.cyberforum.ru/cpp-beginners/thread552901.html
Необходимо решить уравнение -4\int_{0}^{x}t^3dt=(x-1)^2-1 методом касательных(Ньютона). Спасибо заранее!
C++ Написать программу, создающие ведомости для каждой группы по всем дисциплинам с указанием формы контроля (зачет, экзамен). В деканате факультета журналистики имеются списки студентов разных групп. В сессию сотрудники деканата печатают ведомости для каждой дисциплины для сдачи студентами экзаменов и зачетов. Списки студентов упорядочить по алфавиту, используя алгоритм «сортирующее дерево». подробнее

Показать сообщение отдельно
Heretiqu3
10 / 10 / 2
Регистрация: 19.04.2012
Сообщений: 20
19.04.2012, 21:26     Не работает конструктор копирования почему-то...
Цитата Сообщение от vladislava131 Посмотреть сообщение
Всё остальное хорошо)
Я бы поспорил
; нужна только в объявлении(прототипе) функции(метода), в определении - нет.
Конструктор по умолчанию класса Top пустой, поэтому там будет содержаться указатель указывающий неизвестно куда.
Так же данные, по правилам ООП, должны быть защищены, в том же классе Top. Подружите классы или сделайте Top вложенным
так как пишите в строку методы, не суждено, что будут такие ошибки:
C++
1
2
3
4
5
6
7
8
9
bool IsEmpty()
{
   if (p != NULL)
   { 
      return false; 
   }
   else
     [B] true;[/B]
   };
конструктор копирования должен принимать константный объект (а зачем там создаете обьект B? )
Так же вы принимаете объект, С КОТОРОГО копировать данные, а не которому.
нет оператора присваивания



ну и по мелочи Top *p = NULL; лучше nullptr
данным класса присваивайте имена начинающиеся с префикса, например m_, чтобы не запутаться

C++
1
2
3
4
5
6
7
8
9
10
11
Stack(const Stack & mp) //const
{
   p = new Top;
   Top * pr = mp.p;
   while(pr != NULL)
   {
      push(pr->d);
      pr = pr->next;
   } 
   //while (!mp.IsEmpty()) {push(mp.pop());}  зачем разрушать копируемый стэк?
}
конструктор Top
C++
1
Top() { d = 0; next = nullptr; }
Успехов!
 
Текущее время: 02:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru