138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
|
||||||
1 | ||||||
Конструктор инициализации, конструктор копирования, деструктор31.03.2013, 12:59. Показов 3337. Ответов 9
Метки нет Все метки)
(
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор инициализации, конструктор копирования, деструктор. Я толком нешарю зачем мне они, и без них все работает, но раз надо так надо. Напишите ети конструкторы к моему коду, а то я просто непомаю зачем их писать, и следовательно как их писать.
Ах да, етот код, ето класс рациональних чисел(обычной дроби), и перегруженые операторы +, -, *, /, < , >... Ну, если ето так важно
0
|
31.03.2013, 12:59 | |
31.03.2013, 12:59 | |
Ответы с готовыми решениями:
9
Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Деструктор и конструктор копирования не работают Конструктор копирования, деструктор при наследовании |
139 / 133 / 57
Регистрация: 31.01.2012
Сообщений: 435
|
||||||
31.03.2013, 13:19 | 2 | |||||
1
|
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
|
|
31.03.2013, 13:32 [ТС] | 3 |
Черный ворон, о, большое спасибо. А подскажете еще как правильно вызвать деструктор для обьекта?
0
|
![]() 15 / 15 / 5
Регистрация: 07.02.2013
Сообщений: 123
|
|
31.03.2013, 14:19 | 4 |
Деструктор вызывать не нужно. Он вызывается автоматически, как и конструктор (это их главные особенности).
Деструктор вызывается когда объект выходит из области видимости. Т.е. завершается работа блока { } в котором находился этот объект. Конструктор по умолчанию (void) вызывается при создании объекта. Classname obj; //вызов конструктора Это обычные функции, но которые выполняются автоматически. Следовательно что в них впихнуть придумайте сами. Конструкторы используют для начальной инициализации или выделение динам. памяти, а деструкторы для освобождения динамически выделенной памяти под поля класса.
1
|
4 / 4 / 3
Регистрация: 30.09.2012
Сообщений: 63
|
|
04.01.2014, 00:33 | 5 |
supra7sky, деструкторы не всегда вызываются автоматически.
0
|
4 / 4 / 3
Регистрация: 30.09.2012
Сообщений: 63
|
||||||||||||||||||||||||||
04.01.2014, 02:14 | 7 | |||||||||||||||||||||||||
supra7sky, Tulosba, пардон, возможно не правильно выразился. Да, действительно, нам нет нужды вызывать деструкторы явным образом
Но в этом случае:
Я понимаю, что велосипед здесь не изобрел - это основы, но боюсь остаться не понятым.
0
|
:)
![]() 4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
04.01.2014, 02:41 | 9 |
sashadereh, вижу, что Вы все понимаете. Однако supra7sky как раз говорил про вызов деструктора при выходе объекта из области видимости. А когда мы работаем с указателем и ручным выделением памяти через new, контроль перекладывается уже на плечи программиста. Но даже в этом случае явного вызова деструктора делать не стоит. Явный вызов может потребоваться только при использовании placement new.
Могу предположить, что Вы хотели сделать акцент на том, что C++ не имеет встроенного сборщика мусора, просто не совсем удачно выразились.
0
|
4 / 4 / 3
Регистрация: 30.09.2012
Сообщений: 63
|
|
04.01.2014, 23:36 | 10 |
Tulosba, именно, о чем и сожалею)
0
|
04.01.2014, 23:36 | |
04.01.2014, 23:36 | |
Помогаю со студенческими работами здесь
10
Конструктор копирования при инициализации Конструктор копирования при инициализации в header файле Как написать конструкторы копирования, инициализации и конструктор без аргументов? Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Условные типы в TypeScript
stackOverflow 17.02.2025
Условные типы - это сильное средство TypeScript, позволяющее создавать типы, которые могут менять свое поведение в зависимости от определенных условий. По своей сути, они работают подобно тернарному. . .
|
TypeScript и оператор infer: разбиваем Composite-типы на части
stackOverflow 17.02.2025
В TypeScript композитные типы занимают особое место - это сложные типы данных, которые создаются путем объединения более простых типов. К ним относятся массивы, объекты, кортежи (tuples),. . .
|
Mapped-типы в TypeScript
stackOverflow 17.02.2025
TypeScript предоставляет развитые средства для типизации данных, и одним из наиболее гибких инструментов являются mapped-типы. По сути, mapped-тип или сопоставленный тип - это способ создания нового. . .
|
Как вернуть энтузиазм
Uswer 17.02.2025
Приветствую тебя читатель.
Сначала небольшая предыстория.
Лет 5-6 тому назад появилась у меня идея автоматизации некоего процесса на работе. А так как я уже много лет увлекаюсь (не путать с. . .
|
Оператор satisfies в TypeScript: как он работает и где применять
stackOverflow 17.02.2025
Оператор satisfies - одна из наиболее полезных возможностей TypeScript, позволяющая проверять типы значений без изменения их исходного типа. В отличие от других операторов типизации, satisfies дает. . .
|
Почему могут не шифроваться русские символы в Java
Wired 17.02.2025
При разработке на Java нередко возникают сложности с шифрованием русских символов. Эта проблема особенно актуальна для разработчиков, создающих программное обеспечение для русскоязычной аудитории. . . .
|
Отличия ОС для x86_64 и ARM
Wired 17.02.2025
На данный момент сосуществуют две основные архитектуры процессоров - x86_64 и ARM. Эти архитектуры имеют принципиально разные подходы к организации вычислений и обработке данных, что накладывает. . .
|
Многопоточность в Python: как использовать Thread
bytestream 17.02.2025
Поток выполнения (thread) - это наименьшая последовательность инструкций, которая может управляться планировщиком операционной системы. Представьте себе, что ваша программа - это книга, а потоки -. . .
|
Как воспроизвести Race Condition в Python
bytestream 17.02.2025
В многопоточном программировании существует множество подводных камней, и одним из самых коварных является состояние гонки (Race Condition). Этот термин описывает ситуацию, когда результат выполнения. . .
|
Ошибка "node: --openssl-legacy-provider is not allowed in NODE_OPTIONS"
bytestream 17.02.2025
Каждый разработчик рано или поздно сталкивается с ситуацией, когда при запуске проекта Node. js неожиданно выскакивает ошибка "node: --openssl-legacy-provider is not allowed in NODE_OPTIONS". Это. . .
|