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

Перегрузка оператора присваивания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать из файла и записать массив http://www.cyberforum.ru/cpp-beginners/thread1096194.html
вопрос в комментарии, подскажите пожалуйста #include <iostream> using namespace std; struct book { string name; int year; string author; int id; }
C++ Определить каких положительных чисел больше в последовательности, кратных или не кратных 5? С клавиатуры вводится последовательность чисел.Количество чисел заранее не известно,но может быть очень большим.Числа последовательности находятся от -120 до 100.Определить каких положительных чисел больше,кратных или не кратных 5? http://www.cyberforum.ru/cpp-beginners/thread1096187.html
Сравнить длину эллипса и окружности C++
Здраствуйте, помогите пожалуйста, должно быть два класса эллипс - базовый, окружность - клас-наследник, необходимо сравнить длину даных фигур. #include <iostream> #include <locale> #include <cmath> #define M_PI 3.1415926535897932384626433832795 using namespace std; class Elips { private:
Чапаеву нужно переплыть реку С++ C++
Чапаеву нужно переплыть реку Урал шириной B метров.Его скорость в стоячей воде V1 м,скорость реки V2.Под каким углом ему надо плыть,чтобы "не снесло",и сколько времени займет переправа?
C++ Сформировать двунаправленный список. Удалить из него Элементы, с одинаковыми ключевыми полями http://www.cyberforum.ru/cpp-beginners/thread1096176.html
Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать двунаправленный список. Удалить из него Элементы, с одинаковыми ключевыми полями. Добавить элемент после элемента с заданным ключевым полем. Объясните что такое двунаправленный список, и ключевые поля? А то даже не представляю с чего начать и чего от меня хочет условие.
C++ Исчезает окно консоли по завершению работы программы Исчезает окно консоля....исправьте, пожалуйста, чтобы окно не пропадало #include "stdafx.h" #include <iostream> #include <cstdlib> #include <cmath> using namespace std; //Функция ввода матрицы void vvod(float a, int n) подробнее

Показать сообщение отдельно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.02.2014, 22:39     Перегрузка оператора присваивания
Деструкторы вручную не вызывают.
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Cow* Obj4 = Obj1;
Два указателя на один объект.
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Obj1->~Cow();
...
Obj4->~Cow();
Двойное освобождение памяти.

Добавлено через 20 минут
Как-то так:
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
...
Cow::Cow()
{
    cout << "Вызван конструктор" << endl;
    name[0] = '\0';
    chobby = new char[1];
    chobby[0] = '\0';
    weight = 0;
}
...
int main()
{
    rus;
    cout << "Obj1:\n";
    Cow* Obj1 = new Cow;
    cout << "Obj2:\n";
    Cow* Obj2 = new Cow("ABC","DEF",582.1);
    cout << "Obj3:\n";
    Cow* Obj3 = new Cow(*Obj2);
    cout << "Obj4:\n";
    Cow* Obj4 = new Cow;
    *Obj4 = *Obj2;
 
    Obj1->ShowCow();
    Obj2->ShowCow();
    Obj3->ShowCow();
    Obj4->ShowCow();
 
    delete Obj1;
    delete Obj2;
    delete Obj3;
    delete Obj4;
    
    cin.get();
    return 0;
 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru