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

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

Восстановить пароль Регистрация
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
06.05.2013, 00:37     Конструктор копирования #1
C++
1
2
3
4
5
6
7
class alpha
{
  public:
  alpha(alpha& a)
    { //код }
 
};
Подскажите, почему компилятор ругается если я пытаюсь передать аргумент по значению ( alpha(alpha a) )?
В книге пишется что конструктор в таком случае пытается вызвать сам себя, но я не понимаю как это.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 00:37     Конструктор копирования
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
06.05.2013, 00:44     Конструктор копирования #2
IvanInanovich, передача по значению - это передача копии. А копирование объекта вызовет конструктор копирования.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.05.2013, 00:45     Конструктор копирования #3
Потому что передача по значению подразумевает копирование значения при передаче его в функцию. Копирование. При вызове. Конструктора копирования, который должен выполнять копирование.
Yandex
Объявления
06.05.2013, 00:45     Конструктор копирования
Ответ Создать тему
Опции темы

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