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

Конструктор копирования в c++ - C++

Восстановить пароль Регистрация
 
oleg2012
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 26
14.11.2012, 17:44     Конструктор копирования в c++ #1
Добрый день, такая задача по с++

Какая ошибка в следующей реализации конструктора копирования по умолчанию и деструктора?? Какой еще оператор необходимо перегрузить для данного класса??

typedef unsigned int dlina;
const dlina n=30;

class Mouse {
dlina rost;
protected:
char *name;
public:
Mouse(const char *a="None"):rost(1)
{
name=new char[n]; strcpy(name,a);
}
~Mouse() {rost=0;}
Mouse(Mouse &A):rost(A.rost),name(A.name) {}
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 17:44     Конструктор копирования в c++
Посмотрите здесь:

C++ Конструктор копирования
Конструктор копирования C++
Конструктор копирования C++
Конструктор копирования C++
C++ Конструктор копирования
C++ Конструктор копирования
C++ Конструктор копирования
Конструктор копирования C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
14.11.2012, 18:04     Конструктор копирования в c++ #2
Цитата Сообщение от oleg2012 Посмотреть сообщение
Какая ошибка в следующей реализации конструктора копирования
A должо быть константной ссылкой, name указывает на один участок памяти с A.name.
Цитата Сообщение от oleg2012 Посмотреть сообщение
по умолчанию
Что, если длинна a больше n?
Цитата Сообщение от oleg2012 Посмотреть сообщение
деструктора
Забыли очистить выделенную по name память.
Цитата Сообщение от oleg2012 Посмотреть сообщение
Какой еще оператор необходимо перегрузить
operator = .

Не по теме:

typedef unsigned int dlina;
Хм...

Yandex
Объявления
14.11.2012, 18:04     Конструктор копирования в c++
Ответ Создать тему
Опции темы

Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru