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

механизм присваивания в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Записать в предложении символы самого короткого слова (всех слов, если их несколько) в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread812754.html
Нужно записать в предложении символы самого короткого слова (всех слов, если их несколько) в обратном порядке. длинна предложения не должна превышать 30 символов. заранее спасибо!
C++ Достался сайт в наследство нужно отредкатировать Может кто подсказать??? в "наследство" достался сайт voshod-ooo.com, есть от него логин и пароль, нет программиста, а на сайте нужно внести изменения, можете помочь как можно его отредактировать, в принципе сайта строение немного знаю, то есть знаю как редактировать, а как вставить обратно на сайт и через что, чтобы изменилось не знаю. Жду советов Спасибо!!! http://www.cyberforum.ru/cpp-beginners/thread812743.html
Составить программу формирования рабочего файла(бинарного файла из структур) на основе исходного текстового файла C++
а)Составить программу формирования рабочего файла(бинарного файла из структур) на основе исходного текстового файла; (б)Составить программу сбора и печати сведений в указанном формате по данным рабочего файла; (с) Составить соответствующее задание и выполнить синтаксическую отладку программ: исходные файлы: (а)base.txt-исходный текстовый файл; (б)city.txt-текстовый файл,содержащий телефонные...
C++ Нужно доделать прогу, заранее спасибо!
условие: P=|X3-Y3|,если Y=5; X изменяется от -10 до 10 с шагом 0,2 #include <iosrtim.h> #include <math.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv) {float p,x,y;
C++ Дана целочисленная прямоугольная матрица http://www.cyberforum.ru/cpp-beginners/thread812718.html
Здравствуйте уважаемые программисты. Помогите пожалуйста с заданием. Дана целочисленная прямоугольная матрица. Определить: 1) количество столбцов, содержащих хотя бы один нулевой элемент; 2) номер строки, в которой находится самая длинная серия одинаковых элементов. Заранее Вам большое спасибо!!!!!!
C++ Двумерный динамический массив размера NxM Создайте двумерный динамический массив размера NxM.Выделите для него и освободите память. подробнее

Показать сообщение отдельно
2048tb
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 4
19.03.2013, 16:08     механизм присваивания в С++
Доброго времени суток всем.
Объясните почему при присвоении создается копия присваиваемого объекта.
C++
1
2
3
Cat Frisky(1,2);
Cat Tom(2,5);
Frisky = Tom;
вывод программы:

calling ctor
calling ctor
calling operator =
calling copy ctor
calling dctor
calling dctor
calling dctor


реализация класса
Кликните здесь для просмотра всего текста

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
34
35
36
37
Cat(int age, int weight): itsAge(new int(age)), itsWeight(new int(weight))
{cout << "calling ctor" << endl;}
 
Cat::Cat(const Cat & rhs)
{
    cout << "calling copy ctor" << endl;
    itsAge = new int;
    itsWeight = new int;
    *itsAge = rhs.getAge();
    *itsWeight = rhs.getWeight();
}
Cat Cat:: operator=(const Cat &rhs )
{
    cout << "calling operator =" << endl;
    /*
        if(this == rhs )
        {
            return *this;
        }
    */
    delete itsAge;
    delete itsWeight;
    itsAge = new int;
    itsWeight = new int;
    *itsAge = rhs.getAge();
    *itsWeight = rhs.getWeight();
    return *this;
}
 
Cat::~Cat(void)
{
    cout << "calling dctor " << endl;
    delete itsAge;
    itsAge = 0;
    delete itsWeight;
    itsWeight =0;
}


З.ы

чем отличается this от *this
ссылка и сам оъбект?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru