0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
||||||
1 | ||||||
Создать конструктор копирования класса27.09.2014, 17:27. Показов 2465. Ответов 32
Метки нет (Все метки)
Помогите создать конструктор копирования класса. Мне надо чтоб я в основной программе нажимал кнопку и она копировала введенные мной данные и сново, пока я не прикращу нажимать. Код основной программы я не кидаю, там фигня. А вот класс и первый мною написанный конструктор копирования кину.
Добавлено через 5 минут Насколько я понимаю конструктор должен копировать только метод show(). Я там вивожу значения.
0
|
27.09.2014, 17:27 | |
Ответы с готовыми решениями:
32
Конструктор класса, конструктор копирования запускается не тот который нужен Создать конструктор копирования для класса "Прямоугольник" Конструктор копирования шаблонного класса Конструктор копирования для шаблонного класса |
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
27.09.2014, 19:14 [ТС] | 3 |
Ну он же скопирует 1 переменную или весь класс?
Добавлено через 2 минуты Просто мне надо выделять память которая будет = моему классу и копировать туда мой класс, а потом показывать содержимое класса. Я не знаю как это сделать? Добавлено через 1 минуту А можно ж написать class B; B=Triangle; ? Добавлено через 9 минут alsav22, То что Вы написали мне понятно, но как сделать конкретно для моей задачи.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
27.09.2014, 19:41 | 4 | ||||||||||
Сообщение было отмечено Mansu как решение
Решение
Как-то так:
1
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
||||||
27.09.2014, 20:24 [ТС] | 5 | |||||
Спасибо, но почему писать в private? И где класс копи?
Добавлено через 26 секунд И что в нём. Обьясните пожалуйста Добавлено через 1 минуту А, извините, понял. Спасибо. Добавлено через 3 минуты Это ж оно 1 раз скопирует? Добавлено через 9 минут Просто, мне надо много раз запоминать значения метода show(). А потом вывести их все. Как я смогу их выводить, вернее как мне обращаться. Вот так можно?
for (i=1;j<=j;i++){ printf("",obj.tr[i]) } Понимаю, что тут ошибки, но хочу хоть как-то попытаться написать и обьяснить Вам.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
27.09.2014, 20:50 | 6 |
Конструктор копированя не для этого предназначен.
Добавлено через 4 минуты Что значит: "значения метода show()"? show() что делает? Добавлено через 1 минуту Идея в чём? Добавлено через 4 минуты Вводите данные, этими данными инициализируется объект Triangle? И так несколько раз (несколько объектов)? Потом вывести, через show(), все данные этих объектов?
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
||||||
27.09.2014, 20:56 [ТС] | 7 | |||||
Да. Я думал для этого нужен конструктор копирования. Вы правы задача такова: мне надо ввести название треугольника, его координаты, а программа сам считает длину сторон и площадь. Я её сделал. Но она помнит только введенные данные. А если я 1 раз показа ответ, а потом сново решил показать, то там уже пусто. И мне надо чтоб я раз ввёл данные, потом еще раз и может быть еще раз. А потом оно вывело всё, что я ввёл + длину и площадь.
Добавлено через 1 минуту Вот сама программа, а то я кидал класс, который я подключал.
Может так будет понятно.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
27.09.2014, 21:16 | 8 |
Вот это не понял. Пока объект существует, то и данные доступны.
Вот это поясните. Данные для одного треугольника или для нескольких? Если для одного, то зачем несколько раз вводятся разные данные?
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
27.09.2014, 21:30 [ТС] | 9 |
Да, для разных.
Добавлено через 19 секунд Чтоб вышло как в базах данных.
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
27.09.2014, 21:32 [ТС] | 11 |
Поссоветуйте что нибудь.
Добавлено через 2 минуты Просто, тут ерунда с тем, что я могу ввести значения для 1 или же для 100 треугольников допустим. Я представлял себе это так. Я ввёл данные, они там обратотались и записались в память, а в память обьекта я сново записал и т.д. А потом я обратился к той памяти и вывел всё, что там есть.
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
27.09.2014, 21:39 [ТС] | 13 |
Какой массив?
Добавлено через 1 минуту А почему нельзя создавать каждый раз создавать новый класс и записывать туда с помощью конструктора? Добавлено через 16 секунд Просто потому, что это по-дурному? Добавлено через 1 минуту Блин, Вы так написали. Я вот теперь не могу понять, пока как это делать)
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
27.09.2014, 21:50 | 14 | |||||
1
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
27.09.2014, 21:55 [ТС] | 15 |
Спасибо, я попробую и отпишу.
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|
28.09.2014, 09:26 [ТС] | 17 |
А вектор это спец. библиотека? И мне лучше это писать в классе, тоесть тас где *.h или в самом файле*.cpp? Где лучше?
Добавлено через 11 часов 20 минут Можете помочь с этим деструктором? Добавлено через 3 минуты [CPP] ~Triangle (void) { } /CPP]
0
|
0 / 0 / 2
Регистрация: 02.01.2014
Сообщений: 240
|
|||||||||||
28.09.2014, 09:52 [ТС] | 19 | ||||||||||
Оно всеравно выводит только первое, что я ввёл.(((
Добавлено через 4 минуты Блин, теперь ошибка(((
Добавлено через 4 минуты И даже если я ввожу 1 раз, а потом хочу глянуть то там пусто((( Добавлено через 2 минуты Run-Time Check Failure #2 - Stack around the variable 'ch' was corrupted.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
28.09.2014, 10:30 | 20 |
Без понятия, кода не вижу. Код в студию!
Добавлено через 3 минуты Это зачем? Вектор знает свой размер. Добавлено через 1 минуту Потом - это где в коде?
0
|
28.09.2014, 10:30 | |
28.09.2014, 10:30 | |
Помогаю со студенческими работами здесь
20
Конструктор копирования для класса стек Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Cделать конструктор по умолчанию и копирования для класса Конструктор копирования для динамического объекта класса приемника Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |