Re[8]: Тест по ООП и С++. Есть соображения?
От: yeti Россия  
Дата: 04.12.04 10:16
Оценка:
Здравствуйте, Astaroth, Вы писали:

A>Предметы, по которым требовалось бы делание хоть чего-нибудь за компом, кончились в первом семестре второго курса, начнутся снова где-то в районе диплома.

А книжки читать религия не позволяет? Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.
... << RSDN@Home 1.1.4.241+ >>
Re[9]: Тест по ООП и С++. Есть соображения?
От: Astaroth Россия  
Дата: 04.12.04 16:50
Оценка:
Здравствуйте, yeti, Вы писали:

Y>А книжки читать религия не позволяет? Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.


Ты отлично знаешь, что я — читаю
WinAmp играет: (умолк пока)
http://livejournal.com/users/breqwas
Re[7]: Тест по ООП и С++. Есть соображения?
От: folk Россия  
Дата: 04.12.04 16:57
Оценка: +1
LaptevVV:

> A_V>>>>2. x = x+++++x;

[]
> A_V>>>>4. ++x = x+++++x;
[]
> 2. x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть
[]
> 4. ++x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть.
[]

Валерий, вы же расставили пробелы не так как это сделал бы компилятор. Жадный лексический анализатор С распознает наиболее длинную возможную лексему. Так что для п.2 разбор будет произведен так
x = x ++ ++ + x ;
, а для п.4 так
++ x = x ++ ++ + x ;
и в обоих случаях получим ошибку компиляции.
Posted via RSDN NNTP Server 1.9 delta
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Re[9]: Тест по ООП и С++. Есть соображения?
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.04 18:31
Оценка: +1
Здравствуйте, yeti, Вы писали:

Y>Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.


Нельзя! Нельзя научиться "по книжкам", по ним можно лишь получить теоретическую подготовку, реальные проекты обламывают большинство "книжных" начинаний. Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..." Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати). Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.

P.S.
Павел, это наверно в "Филосифию..." надо перенести...
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Mad Sin — She's So Bad It's Good ]
- Искренне ваш, Поросенок Пафнутий
Re[10]: Тест по ООП и С++. Есть соображения?
От: Dr.Gigabit  
Дата: 04.12.04 18:59
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."


Не согласен. Заказчика может и не интерисует, но это точно будет инрерисовать того, кто будет читать твой код. (И этим кем-то можешь оказаться ты сам через пол года)

SDB>P.S.

SDB>Павел, это наверно в "Филосифию..." надо перенести...

Если там такого нет, действительно в философию стОит.
... << RSDN@Home 1.1.4 @@subversion >>
Re[11]: Тест по ООП и С++. Есть соображения?
От: Dr.Gigabit  
Дата: 04.12.04 19:02
Оценка:
Здравствуйте, Dr.Gigabit, Вы писали:

DG>Здравствуйте, SchweinDeBurg, Вы писали:


SDB>>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."


DG>Не согласен. Заказчика может и не интерисует, но это точно будет инрерисовать того, кто будет читать твой код. (И этим кем-то можешь оказаться ты сам через пол года)


SDB>>P.S.

SDB>>Павел, это наверно в "Филосифию..." надо перенести...

DG>Если там такого нет, действительно в философию стОит.


Никогда не научусь писать слово интересует
... << RSDN@Home 1.1.4 @@subversion >>
Re[10]: Тест по ООП и С++. Есть соображения?
От: yeti Россия  
Дата: 04.12.04 19:08
Оценка: +1
Здравствуйте, SchweinDeBurg, Вы писали:

Y>>Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.


SDB>Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.


Я на самом деле примерно это и имел в виду — что ждать препода который придёт и всему научит не прокатит
ИМХО выучить по книжкам синтаксис вполне реально, а дальше "по реальным проектам, пусть и сделанным на коленке" (с)
... << RSDN@Home 1.1.4.242+ >>
Re[10]: Тест по ООП и С++. Есть соображения?
От: nobody2 Россия  
Дата: 04.12.04 22:06
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Нельзя! Нельзя научиться "по книжкам", по ним можно лишь получить теоретическую подготовку, реальные проекты обламывают большинство "книжных" начинаний.


Позвольте с вами не согласиться, уважаемый. Книги — это прежде всего чужой опыт. Есть книги содержащие голую теорию — справочники. По справочникам не учатся — уточняют детали.
Начинать проект, не основываясь ни на каком опыте, довольно трудно, долго и дорого.

SDB>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."


Полностью согласен с этим мудрым человеком.

SDB>Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати).


Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.

SDB> Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.


Учиться на свих ошибках можно, но на чужих — гораздо эффективнее.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[11]: Тест по ООП и С++. Есть соображения?
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.04 22:35
Оценка: 24 (1)
Здравствуйте, nobody2, Вы писали:

N>Позвольте с вами не согласиться, уважаемый.


"Позвольте Вам этого не позволить..." (с) не помню

N>Книги — это прежде всего чужой опыт. Есть книги содержащие голую теорию — справочники. По справочникам не учатся — уточняют детали.


Согласен полностью. Хотя... а вот фундаментальный труд доктора Страуструпа (тот, что без Мэри Эллис написан) — это что? справочник? или учебник? ИМХО — ни то, ни другое. Учиться по нему плюсам, это страшное наказание, а вот читать, когда уже "все знаешь" — истинное удовольствие... столько нового для себя открываешь.

N>Полностью согласен с этим мудрым человеком.


Я тоже... теперь...

N>Учиться на свих ошибках можно, но на чужих — гораздо эффективнее.


Ну да, еще Бисмарк говорил — "только дураки учатся на собственных ошибках, а я предпочитаю учиться на ошибках других..." Тем не менее, для нас проблема "набивания шишек" все еще актуальна — ибо без них нет программиста (ИМХО). Только поизобретав велосипеды можно оценить красоту и удобство того, что "уже украдено до нас".

Как закоренелый виндовозник, я не жалею о том, что перед переходом на MFC я позанимался написанием собственных библиотек классов, переписыванием CRT (правда, это еще под Борландом было), etc. Да, я понимаю, что проходил кем-то уже "выстраданный" путь — но этого стоило, потому что параллельно я узнавал этот волшебный ЯП, носящий скромное имя C++. Я учился любить и ненавидеть его, "как можно любить и ненавидеть только самого себя" (с) Довлатов.

К сожалению, я не настолько тонко знаю Стандарт, как Павел, Андрей или Максим... но я люблю этот язык — безумный, неоднозначный... и такой красивый! И любовь эту питают не книжки, а реально сделанные проекты.

P.S.
Последняя фраза ене несет в себе ни малейшего сносбства.
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Civil War ]
- Искренне ваш, Поросенок Пафнутий
Re[11]: Случайно скипнул и не ответил....
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.04 23:34
Оценка:
Здравствуйте, nobody2, Вы писали:

N>Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.


ИМХО Вы не правы... "Патриотизм — религия бешеных..." (с) Вальтер Скотт. Любой фанатизм вреден — не все, кто пользуются boost'ом, являются крутыми профи... программер (даже сейчас, в эпоху тотального засилья RAD) должен посвятить какое-то время "набиванию шишек". И потом: "опыт — это то, что выприобретаете, читая написанное мелким шрифтом..." (с) С.Н.Паркинсон
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Dog-Face Boy ]
- Искренне ваш, Поросенок Пафнутий
Re[12]: Тест по ООП и С++. Есть соображения?
От: McSeem2 США http://www.antigrain.com
Дата: 04.12.04 23:45
Оценка: +2
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>Ну да, еще Бисмарк говорил — "только дураки учатся на собственных ошибках, а я предпочитаю учиться на ошибках других..." Тем не менее, для нас проблема "набивания шишек" все еще актуальна — ибо без них нет программиста (ИМХО). Только поизобретав велосипеды можно оценить красоту и удобство того, что "уже украдено до нас".


Вот этот Бисмарк — и есть самый главный дурак. Одна своя ошибка, осознанная и набившая шишку, стоит десяти прочтений о десяти ошибках, совершенных другими людьми. Все, чему можно научиться на чужих ошибках — это бесполезному словоблудию на дилетантском уровне. Настоящее знание приходит только через собственный опыт.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[13]: Тест по ООП и С++. Есть соображения?
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 04.12.04 23:58
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Вот этот Бисмарк — и есть самый главный дурак.


Между прочим, он был канцлером Германии.

MS>Все, чему можно научиться на чужих ошибках — это бесполезному словоблудию на дилетантском уровне. Настоящее знание приходит только через собственный опыт.


Вы резки... но отчасти справдливы... как советский суд...

P.S.
Павел, этой ветке точно пора в "Философию..."
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Out Of The Sun ]
- Искренне ваш, Поросенок Пафнутий
Re[4]: Тест по ООП и С++. Есть соображения?
От: Dr.Gigabit  
Дата: 05.12.04 18:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:


LVV>Ответ из моей книжки


Можно ли где достать Вашу книгу в электронном варианте? Было бы очень интересно ознакомится.
... << RSDN@Home 1.1.4 @@subversion >>
Re[12]: Тест по ООП и С++. Есть соображения?
От: LaptevVV Россия  
Дата: 06.12.04 06:39
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>"Позвольте Вам этого не позволить..." (с) не помню


SDB>Согласен полностью. Хотя... а вот фундаментальный труд доктора Страуструпа (тот, что без Мэри Эллис написан) — это что? справочник? или учебник? ИМХО — ни то, ни другое. Учиться по нему плюсам, это страшное наказание, а вот читать, когда уже "все знаешь" — истинное удовольствие... столько нового для себя открываешь.

N>>Полностью согласен с этим мудрым человеком.
SDB>Я тоже... теперь...
И я — тоже! И уже давно...
SDB>Как закоренелый виндовозник, я не жалею о том, что перед переходом на MFC я позанимался написанием собственных библиотек классов, переписыванием CRT (правда, это еще под Борландом было), etc. Да, я понимаю, что проходил кем-то уже "выстраданный" путь — но этого стоило, потому что параллельно я узнавал этот волшебный ЯП, носящий скромное имя C++. Я учился любить и ненавидеть его, "как можно любить и ненавидеть только самого себя" (с) Довлатов.

SDB>К сожалению, я не настолько тонко знаю Стандарт, как Павел, Андрей или Максим... но я люблю этот язык — безумный, неоднозначный... и такой красивый! И любовь эту питают не книжки, а реально сделанные проекты.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Тест по ООП и С++. Есть соображения?
От: LaptevVV Россия  
Дата: 06.12.04 06:42
Оценка:
Здравствуйте, Dr.Gigabit, Вы писали:

DG>Здравствуйте, LaptevVV, Вы писали:



LVV>>Ответ из моей книжки


DG>Можно ли где достать Вашу книгу в электронном варианте? Было бы очень интересно ознакомится.

Это — вторая... Она ещше в работе и постоянно уточняется — по результатам исследования стандарта и бесед на RSDN. Как закнчу — поговорю с мужиками — вывесим на сайте... Правда, не всю — в договоре оковорено, что всю — нельзя... А по частям — в личное пользование — это пожалуйста...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Тест по ООП и С++. Есть соображения?
От: LaptevVV Россия  
Дата: 06.12.04 06:44
Оценка:
Здравствуйте, folk, Вы писали:

F>LaptevVV:


>> A_V>>>>2. x = x+++++x;

F>[]
>> A_V>>>>4. ++x = x+++++x;
F>[]
>> 2. x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть
F>[]
>> 4. ++x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть.
F>[]

F>Валерий, вы же расставили пробелы не так как это сделал бы компилятор. Жадный лексический анализатор С распознает наиболее длинную возможную лексему. Так что для п.2 разбор будет произведен так
x = x ++ ++ + x ;
, а для п.4 так
++ x = x ++ ++ + x ;
и в обоих случаях получим ошибку компиляции.

Согласен... Два подряд постинкремента — не прокатят...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Случайно скипнул и не ответил....
От: nobody2 Россия  
Дата: 06.12.04 12:20
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

SDB>>>Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати).


N>>Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.


SDB>ИМХО Вы не правы... "Патриотизм — религия бешеных..." (с) Вальтер Скотт. Любой фанатизм вреден — не все, кто пользуются boost'ом, являются крутыми профи... программер (даже сейчас, в эпоху тотального засилья RAD) должен посвятить какое-то время "набиванию шишек". И потом: "опыт — это то, что выприобретаете, читая написанное мелким шрифтом..." (с) С.Н.Паркинсон


Оверквотинг

Приобретение опыта через набивание шишек — несколько метафизично, такой подход был характерен еще до эпохи исторического материализма, во времена Максвела и Попова. Сейчас в науке преобладает другой подход.

Почему при изучении высш. матем. вам не приходит в голову дойти до интегрального исчисления эмпирическим путем? Почему принимаете на веру существование электро-магнитной индукции?

Отрицание, игнорирование и пр. предыдущего опыта занчительно увеличивает время обучения. А время — деньги, как говорит буржуазная протестантская этика. Тотальное засилье RAD также связано с экономией время и получением дополнительной прибыли в единицу времени.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[2]: Тест по ООП и С++. Есть соображения?
От: valker  
Дата: 06.12.04 15:16
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Устроили на работе мини-опрос и возникли расхождения по следующим вопросам:

LVV>

LVV>17. Какие два вида полиморфизма реализованы в С++?
LVV>18. Дайте определение полиморфного класса.
LVV>29. Чем отличается чистый виртуальный деструктор от чистой виртуальной функции?
LVV>30. Зачем требуется определение чистого виртуального деструктора?
LVV>31. Наследуется ли определение чистой виртуальной функции?


Не могли бы вы в кратце просветить?

Заранее спасибо за ответ.
Re[3]: Тест по ООП и С++. Есть соображения?
От: LaptevVV Россия  
Дата: 06.12.04 15:32
Оценка:
Здравствуйте, valker, Вы писали:

V>Здравствуйте, LaptevVV, Вы писали:


V>Устроили на работе мини-опрос и возникли расхождения по следующим вопросам:


LVV>>

LVV>>17. Какие два вида полиморфизма реализованы в С++?
LVV>>18. Дайте определение полиморфного класса.
LVV>>29. Чем отличается чистый виртуальный деструктор от чистой виртуальной функции?
LVV>>30. Зачем требуется определение чистого виртуального деструктора?
LVV>>31. Наследуется ли определение чистой виртуальной функции?


V>Не могли бы вы в кратце просветить?


17 и 18

Александреску указывает, что в С++ реализованы два типа полиморфизма:
 статический полиморфизм (compile-time polymorphism – полиморфизм времени компиляции), который осуществляется с помощью перегрузки и шаблонов функций;
 динамический полиморфизм (run-time polymorphism – полиморфизм времени выполнения), реализуемый виртуальными функциями.
Класс, включающий виртуальные функции, называется полиморфным классом.

29 и 30

Класс, в котором определен чистый виртуальный деструктор, тоже является абстрактным, и создавать объекты этого класса запрещено. Однако чистые виртуальные деструкторы несколько отличаются от чистых виртуальных функций. Первое отличие проявляется при наследовании. Вспомним, что деструкторы не наследуются, а при отсутствии явного определения автоматически создаются в производном классе. Это означает, что класс-наследник не является абстрактным классом!

Второе отличие заключается в том, что при объявлении чисто виртуального деструктора нужно написать и его определение. Да-да, не поднимайте удивленно брови — нужно написать определение чистого виртуального деструктора для базового класса. Это несколько странное правило объясняется тем, что деструктор наследника обязательно вызывает деструктор базового класса — поэтому чистый деструктор должен все же быть определен

31.

Определять можно не только чистые деструкторы, но и чистые виртуальные методы. Класс, для которого это определение написано, по-прежнему является абстрактным классом. В отличие от чистых виртуальных деструкторов, даже определенная в базовом классе чистая виртуальная функция наследуется как чистая, поэтому производный класс тоже будет абстрактным при отсутствии собственного определения.

Из этого вроде следует. что определение не наследуется?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.