Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как можно сделать заполнение змейкой Может кто подсказать, как в этом коде, сделать вывод квадрата змейкой с левого верхнего угла и чтоб один столбец сверху вниз, потом снизу вверх и т.д? #include <Windows.h> #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_ALL, "Russian"); int COLUMNS, prov1; cout << "Введите число, для образования квадрата: "; https://www.cyberforum.ru/ cpp-beginners/ thread3022728.html C++ Дружественные функции и классы
Это пример задачи #include<iostream> #include<ctime> using namespace std; class massiv { public: int n; double* a; massiv(int nl); void jazu();
C++ Нахождение независимых множеств в графе https://www.cyberforum.ru/ cpp-beginners/ thread3022717.html
Задание: Написать и отладить программу, выполняющую нахождение всех независимых (внутренне устойчивых) множеств в графе. Для решения этой задачи использовать один из представленных ниже алгоритмов. Необходимый алгоритм Алгоритм Беднарека и Толби(Язык программирования C++
C++ Работа с файлами Разработать функции для выполнения операций над текстовым файлом: 1.создание текстового файла кодировки ASCII, содержащего десятичные числа по несколько чисел на строке; 2.вывод содержимого текстового файла; 3.добавление новой строки в конец файла; 4.прочитать значение числа, указав его порядковый номер в файле, и вернуть его значение; В задании написано, что нужно создать 4 функции. Как я... https://www.cyberforum.ru/ cpp-beginners/ thread3022714.html
Буквы заменяются на их номер в алфавите, увеличенный вдвое. Шифровка и расшифровка C++
Помогите разобраться с задачей: Пользователю предлагается ввести строку, состоящую из русских букв. Введенная строка записывается в переменную str. Реализовать шифрование строки str: Буквы заменяются на их номер в алфавите, увеличенный вдвое. использовать тип char. (класс string не использовать) Полученная зашифрованная строка записывается в переменную str. Реализовать расшифровку строки...
C++ Построить алгоритм в тетрадке https://www.cyberforum.ru/ cpp-beginners/ thread3022681.html
Дано целое число n, числа r и s.Определить суммы r младших цифр и s старших цифр в записи числа.
C++ Структуры, определить количество товаров которые проданы менее года назад https://www.cyberforum.ru/ cpp-beginners/ thread3022679.html
Никак не могу решить задачу :Определить количество товаров которые проданы менее года назад, и записать их в таком порядке: Наименование, Количество, Цена, Продавец, Дата. В коде такая ошибка: После ввода всех данных он меняет дату всех товаров на 2022. Понятия не имею как это решить. #include<iostream> #include<iomanip> #include<cstdlib> using namespace std; struct trains { char des1;
Найти дубликаты в массиве и добавить их значение в новый массив(через векторы) C++
Требуется реализовать два алгоритма: has_duplicates и get_duplicates. Функция has_duplicates должна проверять, содержит ли входной массив целых чисел дубликаты (элементы с одинаковым значением), и возвращать true (есть дубликаты) или false (нет дубликатов). Функция get_duplicates должна возвращать, в виде нового массива, значения элементов-дубликатов из входного массива (каждое уникальное...
C++ Найти среднюю по значению вершину в дереве, у которой высота левого поддерева отличается от высоты правого на два https://www.cyberforum.ru/ cpp-beginners/ thread3022633.html
Найти среднюю по значению вершину в дереве, у которой высота левого поддерева отличается от высоты правого на два. Удалить (левым удалением) данную вершину, если она существует. Выполнить прямой (левый) обход полученного дерева. Если у вершины отсутствует некоторое поддерево, то его высоту полагаем равной −1. Формат входных данных Входной файл содержит последовательность чисел — ключи...
C++ Умножение всех чисел в файле https://www.cyberforum.ru/ cpp-beginners/ thread3022627.html
Прошу помощи! У меня есть файл примерно такого вида: 1 2 3 65 -23 4 463 6 -3 0 1 Нужно написать функцию, которая умножить все числа из этого файла на веденное мной(в качестве параметра) Проблема в том, что нужно сохранить исходный формат записи файла, то есть после умножения на 2 он должен выглядеть так: 2 4 6 130 -46 8 926 12 -6
C++ Заменить цикл while на цикл for
подскажите как переделать? Перепишите данный код, с использованием цикла for: int x = 10; while (x > 0) { cout << x << endl; x -= 2; }
C++ -nan (ind) Всем доброй ночи, пишу код для массива по возведению в квадрат всех составляющих и выведения их количества и самих корней в обратном порядке. Писал на основе программы по выведению количества составляющих массива и в итоге моя программа выдает все числа но добавляет -nan(ind) Сам код: #include <iostream> #include <cmath> using namespace std; int main() { double numbers; https://www.cyberforum.ru/ cpp-beginners/ thread3022608.html
0 / 0 / 0
Регистрация: 12.02.2022
Сообщений: 3
0

ООП: вызывается деструктор вместо конструктора копирования - C++ - Ответ 16462239

21.09.2022, 13:15. Показов 518. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Есть класс Collection (имитирует динамический массив), с конструкторами и перегруженным оператором присваивания.
Если присваиваю объект через конструктор с параметрами сразу новой Collection, то все хорошо работает. Инициализируется заполненная коллекция, с ней можно дальше работать.
C++
1
Collection<int> collection = Collection<int>(size);
А если сначала инициализирую пустую Collection, а потом переприсваиваю заполненную, то вызывается конструктор по умолчанию и конструктор с параметрами, что понятно, две коллекции же создается. А вот потом вместо конструктора копирования вызывается деструктор. Новая заполненная коллекция удаляется и даже не пытается переприсвоится.
C++
1
2
Collection<int> collection;
collection = Collection<int>(size);
Почему первый вариант рабочий, а второй - нет?

Конструктор копирования:
C++
1
2
3
4
5
6
7
8
9
10
Collection<int>::Collection(const Collection<int>& other) {
    this->size = other.size;
    this->data = (Node*)malloc(this->capacity * sizeof(Node));
    for (int i = 0; i < size; i++) {
        Node* node = this->data + i;
        Node* oldData = other.data + i;
        node->item = oldData->item;
        node->index = oldData->index;
    }
}
Оператор присваивания вообще нигде не вызывается..

Вернуться к обсуждению:
ООП: вызывается деструктор вместо конструктора копирования C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2022, 13:15
Готовые ответы и решения:

ООП Конструктор копирования вызывается сам
Столкнулся с такой проблемой. Еще до создания новых объектов Python - вызывается конструктор...

Вызывается конструктор по умолчанию вместо конструктора с параметрами
Есть 2 конструктора: Cell::Cell() { strcpy(PhoneTouchScreen,&quot;Unknown&quot;); ...

При создании класса конструктор вызывается 2 раза, затем вызывается деструктор о_О
Вот такой кодclass A { public: A(){} virtual ~A(){} }; class C { public:

В чём отличия конструктора копирования и конструктора перемещения? Где и как их нужно использовать?
Помогите разобраться в копирующем и перемещающем конструкторах. В чём их существенное отличие и...

4
21.09.2022, 13:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2022, 13:15
Помогаю со студенческими работами здесь

Не вызывается деструктор
Не вызывается деструктор дочерних окон, когда у главной всё работает: //дескриптор дочерней...

Деструктор не вызывается
В одном классе я создаю объект, и если проверку не проходит, я его возвращаю в другой метод, дабы...

Не вызывается деструктор
Добрый день! Подскажите, пожалуйста, как быть... Есть программа: int main() { MyClass...

Не вызывается деструктор
_Здравствуйте. Я новичок в программировании, сейчас изучаю самостоятельно С++ по книге Джесса...

Не вызывается деструктор
#include &lt;iostream&gt; using namespace std; class myclass { int a; public: myclass(); //...

Qt 4.8.1 не вызывается деструктор? Баг?
Здравствуйте! Qt 4.8.1. Столкнулся с таким глюком: не всегда вызывается деструктор главного окна....

Не вызывается деструктор в векторе
В векторе std::vector &lt;UnitData*&gt; unit_data; использую класс class UnitData { public:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru