15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
||||||
1 | ||||||
Перегруженный конструктоор- так пойдет?04.09.2013, 23:15. Показов 1328. Ответов 24
Метки нет (Все метки)
Почему не пойдет и как бывает?
0
|
04.09.2013, 23:15 | |
Ответы с готовыми решениями:
24
Перегруженный оператор Перегруженный operator= перегруженный метод перегруженный конструктор |
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
||||||
04.09.2013, 23:34 | 2 | |||||
Dimka-novitsek, ок, если просто создать объект класса Cat?
Добавлено через 30 секунд у вас аж целых две штуки подходят, а один еще и private...
1
|
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
|
|
04.09.2013, 23:36 | 3 |
Dimka-novitsek, у вас, кстати говоря, деструкторы переобъявлены =/
1
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
04.09.2013, 23:40 | 4 |
kventin_zhuk, а зачем тут его переопределять? Тут же нету работы с выделением памяти.
Добавлено через 1 минуту Dimka-novitsek, и вообще можете объяснить логику запихивания конструктора в private? Такое делают, только, что бы лочить класс. Но это по сути изврат ( в С++, так точно).
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
04.09.2013, 23:52 [ТС] | 5 |
Вы знаете, я и сам не зню, что пишу.
Добавлено через 1 минуту А деструкторы переобъявлены- это плохо или хорошо? Добавлено через 2 минуты А что, конструктор в private не нужен? И что такое лочить класс? Добавлено через 3 минуты Я хотел попробовать написать перегруженный конструктор, и обнаружил ошибку компиляции. Спасибо за ответы! Цель написать что-нибудь.
0
|
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
|
|
04.09.2013, 23:54 | 6 |
Dimka-novitsek, Если я правильно понял, лочить класс - это чтобы обеспечить существования объекта класса в единственном экземпляре(синглтон). Если не то имелось в виду - попрявят.
про деструкторы - Ну а что хорошего?) Вы хотите два одинаковых деструктора всунуть - компилятор негодует)
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
04.09.2013, 23:57 [ТС] | 7 |
Какая тут может быть работа с выделением памяти ?
Добавлено через 1 минуту Спасибо!! А я раньше не обьявлял деструкторы, я про них не очень понял.
0
|
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
|
||||||
04.09.2013, 23:58 | 8 | |||||
1
|
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
|
|
04.09.2013, 23:58 | 9 |
Димка, переходи на книгу Дейтелов....
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
05.09.2013, 00:03 [ТС] | 10 |
Спасибо!!
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
05.09.2013, 08:18 | 11 |
kventin_zhuk, лочить класс, ну блокировать его, тобишь, любое наследование от него будет бесполезно, замыкающий класс, как хотите.
1
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,926
|
||||||
05.09.2013, 09:37 | 12 | |||||
Пара абзацев из Лафоре.
Относительно вашего примера и деструкторов, имеет смысл прочитать вот это: Речь идет об этом классе:
1
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 13:28 | 13 |
1
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
05.09.2013, 17:48 | 14 |
Raali, это все клёво, но смысл тогда почти такой же конструктор пихать в public тогда?
Добавлено через 3 минуты Просто на данном этапе человек судя повсему с ООП на С++ только еще на вы и ему бы просто разобраться...
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
05.09.2013, 21:33 [ТС] | 15 |
Ну да, имено!
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
05.09.2013, 21:39 | 16 |
если ты не объявил ни один конструктор. Если хоть один объявил то "по умолчанию" пропадает
Добавлено через 2 минуты а как объект создавать? там еще одна тонкость есть нужно переопределить new чтобы он и вызывал приват конструктор следовательно объект можешь создать только динамически
1
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
||||||
05.09.2013, 21:45 [ТС] | 17 | |||||
А вот я решил в private создать функцию, для опыта. Конструктор там, видимо, почти плностью бисполезен, т.к. все что там находится видно только внутри класса, и его можно проще написать в public.
Компилятор ругается- перед функцией ему точки с запятой не хватает.. И т.п.
0
|
15 / 15 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
|
|
05.09.2013, 22:04 [ТС] | 19 |
Спасибо!!!!
Добавлено через 9 минут ВикипедиЯ Класс (программирование) Как и структуры, классы могут задавать поля — то есть переменные, принадлежащие либо непосредственно самому классу (статические), либо экземплярам класса (обычные). Статические поля существуют в одном экземпляре на всю программу (или, в более сложном варианте, — в одном экземпляре на процесс или на поток/нить). Обычные поля создаются по одной копии для каждого конкретного объекта — экземпляра класса. Добавлено через 1 минуту Конечно, я может что-то не понял...
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
||||||||||||||||
05.09.2013, 22:14 | 20 | |||||||||||||||
ага
у статического ключевое слово static вот если бы ты написал
хоть сто объектов создай itsAge будет один чтобы понять разницу попробуй вот эти два кода
1
|
05.09.2013, 22:14 | |
05.09.2013, 22:14 | |
Помогаю со студенческими работами здесь
20
C++ перегруженный метод перегруженный оператор << Перегруженный оператор + перегруженный синус Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |