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

Почему не вызывается конструктор копии? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс работник. Сортировка. Советы по коду http://www.cyberforum.ru/cpp-beginners/thread923662.html
Здраствуйте! Вот задание: Построить три класса (базовый и 2 производный), описывающие некоторых работников с почасовой оплатой (один из потомков) и фиксированной оплатой (второй потомок). Описать...
C++ Электронно цифровая подпись RSA Добрый вечер, у меня вопрос, объясните алгоритм Электронно цифровая подпись RSA. Везде посморел так и не понял: Пример. Исходные данные: сообщение M’ = 947829 p = 7 q = 11 d = 17 (закрытый... http://www.cyberforum.ru/cpp-beginners/thread923658.html
C++ Написал программу которая показывает числа из ряда Фибоначчи
Вот написал программу которая...Ай, мне сложновато объяснить, напишу сразу алгоритм её действия: 1.Пользователь вводит номер числа из ряда Фибоначчи. 2.Программа делает некоторые вычисления...
Активация Embarcadero EX3 C++
Ув.Форумчане, скачал Embarcadero EX3, но как активировать ее ума не приложу. Пробовал по разному, но не могу пропатчить bds.exe. В общем кто знает, либо у вас есть проверенный кряк. Выручайте.
C++ private наследование и виртуальный метод http://www.cyberforum.ru/cpp-beginners/thread923621.html
Привет! Тут хотел бы спросить такой вопрос. Есть базовый класс с виртуальным методом в protected секции. Я наследую этот класс как private. Мне теперь нужно переопределить виртуальный метод базового...
C++ Назначение заголовочных файлов Я читала учебник и википедию - никак не доходит. В общем, может я неправильно поняла: есть у меня "Моя программа.cpp", и есть "Заголовочный файл.hpp". В заголовочном файле прописаны прототипы... подробнее

Показать сообщение отдельно
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345

Почему не вызывается конструктор копии? - C++

15.07.2013, 20:47. Просмотров 472. Ответов 6
Метки (Все метки)

Почему не вызывается конструктор копии?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class CPoint
{
    friend std::istream &operator>>(std::istream &in, CPoint &obj);
    friend std::ostream &operator<<(std::ostream &out, const CPoint &obj);
 
public:
    CPoint(int x=0, int y=0)    { std::cout << "Конструктор CPoint(" << x << ", " << y << ")" << std::endl;  mX=x;  mY=y; }
    CPoint(const CPoint &copy)  { std::cout << "Конструктор копии CPoint(" << copy.mX << ", " << copy.mY << ")" << std::endl;  mX=copy.mX;  mY=copy.mY; }
    ~CPoint()                   { std::cout << "Деструктор ~CPoint(" << mX << ", " << mY << ")" << std::endl; }
 
private:
    int mX, mY;
};
 
 
std::istream &operator>>(std::istream &in, CPoint &obj)             { in >> obj.mX >> obj.mY;  return in; }
std::ostream &operator<<(std::ostream &out, const CPoint &obj)      { out << "[" << obj.mX << ", " << obj.mY << "]";  return out; }
 
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    {
    std::cout << CPoint(CPoint(0, 0)) << std::endl;
 
    std::cout << std::endl;
    }
 
    system("pause");
    return 0;
}
Результат работы:
Конструктор CPoint(0, 0)
[0, 0]
Деструктор ~CPoint(0, 0)


Для продолжения нажмите любую клавишу . . .

Внутренний CPoint(0, 0) создает объект CPoint вызовом конструктора по умолчанию
Дальше должен вызываться внешний CPoint(...). И тут вопрос, а почему не вызывается его конструктор?
Ведь для внешнего должен вызываться копирующий конструктор
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru