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

Класс: конструктор и деструктор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как поменять вид курсора на в ВинАпи http://www.cyberforum.ru/cpp-beginners/thread58704.html
Здравствуйте Нужно поменять курсор при нажатии пункта меню. Сделала меню, два курсора, .. зависла на WM_COMMAND case WM_COMMAND: { switch(LOWORD(wParam)) { case...
C++ целочисленная прямоугольная матрица Дана целочисленная прямоугольная матрица. Определить: 1)количество столбцов, содержащих хотя бы один нулевой элемент (оформить в виде функции) 2)номер строки,в котором находится максимальное... http://www.cyberforum.ru/cpp-beginners/thread58691.html
C++ Для заданной марицы вычислить значение среднего арифметического элементов k-го столбца и n-й строки
Написать функцию, которая для заданного двухмерного массива типа int вычисляет и возвращает значение среднего арифметического элементов k-го столбца и п-й строки. Написать программу, которая...
Строки, которые одновременно содержатся в двух заданных текстовых файлах C++
ребята помогите Пожалуйста!!!! Условие:Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных текстовых файлах. Имена файлов прочесть с клавиатуры. Сами...
C++ Вопрос по нажатию клавиш http://www.cyberforum.ru/cpp-beginners/thread58688.html
Смотрю книги и уроки по Си, но не в одной не чего не упоминается о такой вещи: Например как сделать, что бы в консольном при нажатии например клавиши ENTER - выводилось например вы нажали клавишу...
C++ Проверка правильности ввода строки Доброго дня! Имеется строка string str, задана изначально, пользователь вводит с клавиатуры другую строку string proverka, нужно проверить полное осимвольное совпадание двух строк. Есть ли... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18032 / 6264 / 427
Регистрация: 30.03.2009
Сообщений: 17,226
Записей в блоге: 28
25.10.2009, 17:10
Цитата Сообщение от JamesBlack Посмотреть сообщение
Или если я объявляю x, y, z в автоматической памяти, то до конца программы она не освободится никак? Просто тогда придется делать x, y, z указателями, а это, как мне многие говорили, довольно глупо делать ссылку на одиночную переменную int.
"если я объявляю x, y, z в автоматической памяти" - фраза не верная по своей сути. x, y, z - это НЕ самостоятельные переменные, это поля класса (т.е. составные части некоторого "большого" типа). Автоматическим, статическим или динамическим у тебя может быть объект (экземпляр) данного класса. А тип (в нашем случае класс) это всего лишь свойство объекта. Например яблоко - это объект (ибо является материальной сущностью), а его цвет - это свойство объекта. Цвет без яблока не может существовать. Точно так же и тип не имеет материальной сущности без объекта

Цитата Сообщение от JamesBlack Посмотреть сообщение
А деструктор? Как с ним быть?
Деструктор нужен только тогда, когда тебе нужны какие-то завершающие действия в момент удаления объекта (например, удаление динамической памяти, которую использовал объект). В твоём случае объект не делает никаких телодвижений, требующих завершения, а потому он попросту не нужен. Ну или можно его написать, но оставить пустым

Цитата Сообщение от JamesBlack Посмотреть сообщение
И зачем конструктор копии?
При копировании объектов действие по умолчанию - это простое копирование всех полей. Когда этого недостаточно, то пишут свой конструктор копии. Как правило это так же упирается в работу с динамической памятью. Если объект выделил себе динамическую память, то копия объекта должна использовать собственную динамическую память, а потому придётся писать конструктор копии. В твоём случае опять-таки нет никакой работы с динамической памятью, поэтому конструктор копии не нужен (компилятор сам создаст его, и он будет тупо переписывать все значения полей)

Добавлено через 1 минуту
Цитата Сообщение от niXman Посмотреть сообщение
Конструктор копии никогда не бывает лишним. А вот привычка не использовать его, в большинстве случаев заканчивается крахом программы.
С учётом того, что ты написал его пустым, от краха программы он не спасёт, а вот человека в заблуждение введёшь
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru