Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 18:29   #11
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

А почему первый без аргументов?
prikolist вне форума Ответить с цитированием
Старый 15.05.2009, 18:34   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от prikolist
А почему первый без аргументов?
Как хотим, так и задаем. Можем еще десяток конструкторов описать, если надо. Это Вы решаете.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.05.2009, 19:02   #13
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

А что даёт объявление пустого конструктора в этих классах,просто вижу,что первое объявление конструктора без аргументов Room() происходит в этой строке:
Код:
public:
OneRoom(): square_kitchen(0) { Room(); count_room = 1; }
а 2-ое объявление конструктора без аргументов в этой строке:
Код:
public:
ThreeRoom() { OneRoom(); count_room = 3; }
prikolist вне форума Ответить с цитированием
Старый 15.05.2009, 19:09   #14
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
А что даёт объявление пустого конструктора в этих классах
Конструкторы тут нужны для инициализации переменных. Ну как еще по-другому сказать?
Из каждого наследника вызывается конструктор предка.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.05.2009, 19:18   #15
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Код:
конструкторы тут нужны для инициализации переменных.
Тоесть,вы имеете ввиду,что если я не объявлю пустой конструктор OneRoom(); ,в строке
Код:
public:
ThreeRoom() { OneRoom(); count_room = 3; }
Тогда я не смогу инициализировать значения конструктора ThreeRoom 2 строки после неё.тоесть:
Код:
ThreeRoom(double sqr, int flr, double sqr_kitchen) { OneRoom(sqr, flr, sqr_kitchen); }
prikolist вне форума Ответить с цитированием
Старый 15.05.2009, 19:28   #16
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

prikolist, то, что вы приводите - неверно. Я же исправил листинг.

Повторяю еще раз: эти два конструктора НЕЗАВИСИМЫ.
Если вы не опишете первый, то просто не сможете его вызывать.
Второй же никуда не денется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.05.2009, 19:36   #17
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Хорошо,почему тогда вы говорите,что если я не объявлю пустой конструктор,я не смогу инициализировать переменные конструктора ThreeRoomв этой строке
Код:
ThreeRoom(double sqr, int flr, double sqr_kitchen) { OneRoom(sqr, flr, sqr_kitchen); }
prikolist вне форума Ответить с цитированием
Старый 15.05.2009, 19:40   #18
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Хорошо,почему тогда вы говорите,что если я не объявлю пустой конструктор,я не смогу инициализировать переменные конструктора ThreeRoomв этой строке
Где я такое сказал? о_О
Не было такого. Можете его вообще не объявлять.
Вот это:
Код:
ThreeRoom(double sqr, int flr, double sqr_kitchen) { OneRoom(sqr, flr, sqr_kitchen); }
конструктор с аргументами. То есть, если вы в программе напишете
Код:
ThreeRoom A(1,2,3);
то будет вызван именно этот конструктор, с аргументами.
А если напишете так:
Код:
ThreeRoom A;
То будет вызван первый конструктор, без аргументов.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.05.2009, 20:09   #19
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

prikolist, сколько можно уже? Ты когда книжку хоть какую-нибудь прочитаешь? Сколько можно просить прокомментировать код, объяснить что-то, в чем ты совершенно не разбираешься? Я же тебе говорил, это все равно, что принести тебе трактор, разобранный по кусочкам, и сказать - собирай.
З.Ы. Бедный твой препод... такой бред слушать каждый раз... ужас! =)))
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 15.05.2009, 20:24   #20
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Сейчас прочитаю Глава 9. Конструкторы производного класса. может поможет.
prikolist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комментарии к коду ELL Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.03.2009 16:01
как листу дать имя owl-ka Microsoft Office Excel 8 25.11.2008 21:29
Как не дать разъединиться с Инетом Crazyman Работа с сетью в Delphi 2 04.03.2008 00:12
Комментарии к коду Juhn Паскаль, Turbo Pascal, PascalABC.NET 6 24.12.2007 20:29
Комментарии к коду Ярослав Помощь студентам 4 23.11.2007 16:57