Здравствуйте, B0FEE664, Вы писали:
___>>С чего бы мне вставать и уходить? Я прекрасно знаю ответ на этот и заодно на все сопутствующие вопросы BFE>Риалли? Проверим? BFE>Для чего может понадобиться виртуальный абстрактный деструктор?
Ну наверно для того, чтобы сделать класс абстрактным не добавляя в него других pure virtual методов.
Главное не забыть дописать тело, которое смотрится весьма неочевидно для pure методов, но в случае деструктора обязательно.
Хотя именно этот вопрос для собеседования ИМХО не очень подходит.
Здравствуйте, robin_of_the_wood, Вы писали:
BFE>>Для чего может понадобиться виртуальный абстрактный деструктор? ___>Ну наверно для того, чтобы сделать класс абстрактным не добавляя в него других pure virtual методов.
Ну и в какой ситуации это может понадобиться?
Здравствуйте, B0FEE664, Вы писали:
___>>Ну наверно для того, чтобы сделать класс абстрактным не добавляя в него других pure virtual методов. BFE>Ну и в какой ситуации это может понадобиться?
Иногда в абстрактный класс выносятся методы общие для всех(или некоторых) потомков, но используемые только изнутри этой иерархии.
В Яве в таком случае к классу применяется модификатор abstract ну а в плюсах к тому же результату приводит трюк с абстрактным деструктором.
Здравствуйте, robin_of_the_wood, Вы писали:
___>>>Ну наверно для того, чтобы сделать класс абстрактным не добавляя в него других pure virtual методов. BFE>>Ну и в какой ситуации это может понадобиться? ___>Иногда в абстрактный класс выносятся методы общие для всех(или некоторых) потомков, но используемые только изнутри этой иерархии. ___>В Яве в таком случае к классу применяется модификатор abstract ну а в плюсах к тому же результату приводит трюк с абстрактным деструктором.
Но это никак не объясняет, почему именно виртуальный абстрактный деструктор должен быть использован (а не обычный виртуальный деструктор).
Здравствуйте, B0FEE664, Вы писали:
___>>В Яве в таком случае к классу применяется модификатор abstract ну а в плюсах к тому же результату приводит трюк с абстрактным деструктором. BFE>Но это никак не объясняет, почему именно виртуальный абстрактный деструктор должен быть использован (а не обычный виртуальный деструктор).
Странно. Нужно было класс сделать абстрактным не добавляя абстрактных методов. Язык напрямую этого не позволяет.
Используется трюк с именно абстрактным деструктором. Ключевое тут абстрактный и поэтому просто виртуальный деструктор к этому трюку не имеет прямого отношения. А косвенное отношение только в том что в терминах С++ абстрактный — это pure virtual и без virtual не бывает.
Кстати Вы не замечаете тенденцию в том, что каждый следующий Ваш вопрос все меньше и меньше подходит для использовании на собеседовании?
Или Вы пытаетесь эмулировать почти сказочных плохих собеседователей?
___>Кстати Вы не замечаете тенденцию в том, что каждый следующий Ваш вопрос все меньше и меньше подходит для использовании на собеседовании? ___>Или Вы пытаетесь эмулировать почти сказочных плохих собеседователей?
а по-моему очень подходит
вопрос: Для чего может понадобиться виртуальный абстрактный деструктор?
ответ: для того, чтобы сделать класс абстрактным не добавляя в него других pure virtual методов
вопрос: в какой ситуации это может понадобиться?
ответ: в абстрактный класс выносятся методы общие для всех(или некоторых) потомков, но используемые только изнутри этой иерархии
вопрос: это никак не объясняет, почему именно виртуальный абстрактный деструктор должен быть использован (а не обычный виртуальный деструктор)
ответ: Нужно было класс сделать абстрактным не добавляя абстрактных методов
... далее в том же духе пока интервьюеру не надоест пинать дохлую лошадь
Здравствуйте, sss1024, Вы писали:
S>... далее в том же духе пока интервьюеру не надоест пинать дохлую лошадь
Ну в теории то оно так. А вот на практике интервьюеру поставлена конкретная задача и отведено время.
В конце этого времени он должен предоставить отчет.
И отчет типа "Был задан вопрос про редко встречающийся трюк. Ответы показались неубедительными. Не нанимать" обычно не проходит.
Но если быть не в теме, а просто пофантазировать, то можно и лошадь пинать пока не надоест.
Здравствуйте, robin_of_the_wood, Вы писали:
___>Здравствуйте, sss1024, Вы писали:
S>>... далее в том же духе пока интервьюеру не надоест пинать дохлую лошадь
___>Ну в теории то оно так. А вот на практике интервьюеру поставлена конкретная задача и отведено время. ___>В конце этого времени он должен предоставить отчет. ___>И отчет типа "Был задан вопрос про редко встречающийся трюк. Ответы показались неубедительными. Не нанимать" обычно не проходит. ___>Но если быть не в теме, а просто пофантазировать, то можно и лошадь пинать пока не надоест.
ты не смог объяснить в какой ситуации на практике требуется виртуальный абстрактный деструктор.
Здравствуйте, sss1024, Вы писали:
S>ты не смог объяснить в какой ситуации на практике требуется виртуальный абстрактный деструктор.
Пока из непонявших мое обьяснение только Вы один. Автор вопросов еще ничего не сказал.
Поэтому предлагаю сменить формулировку на "не смог обьяснить всем" или "не все поняли обьяснение"
Ну и в контексте топика повторю — этого явно недостаточно для того, чтобы не пройти собеседование(ну кроме уж очень редких случаев, когда на самом деле никто и не нужен)
Здравствуйте, robin_of_the_wood, Вы писали:
___>Здравствуйте, sss1024, Вы писали:
S>>ты не смог объяснить в какой ситуации на практике требуется виртуальный абстрактный деструктор.
___>Пока из непонявших мое обьяснение только Вы один. Автор вопросов еще ничего не сказал. ___>Поэтому предлагаю сменить формулировку на "не смог обьяснить всем" или "не все поняли обьяснение"
___>Ну и в контексте топика повторю — этого явно недостаточно для того, чтобы не пройти собеседование(ну кроме уж очень редких случаев, когда на самом деле никто и не нужен)
ты не понимаешь где могут применяться описанные тобой конструкции на практике (подсказка: нигде).
Здравствуйте, sss1024, Вы писали:
S>ты не понимаешь где могут применяться описанные тобой конструкции на практике (подсказка: нигде).
Сильно сказано. Только вот голословно как-то.
Сказали бы "За мои ХХ лет опыта С++ программиста и ХХ лет собеседований плюсовиков я ни разу такого не применял на практике и не встречал у других"
А так отдает детским садом
Здравствуйте, robin_of_the_wood, Вы писали:
___>Здравствуйте, sss1024, Вы писали:
S>>ты не понимаешь где могут применяться описанные тобой конструкции на практике (подсказка: нигде).
___>Сильно сказано. Только вот голословно как-то. ___>Сказали бы "За мои ХХ лет опыта С++ программиста и ХХ лет собеседований плюсовиков я ни разу такого не применял на практике и не встречал у других" ___>А так отдает детским садом
тебе предложили ответить. Ты не ответил. Собеседование не прошёл. Можешь обозвать собеседующих дураками, устроить истерику или ещё что подобное, результат от этого не изменится.
Re[5]: Если бы плотников в московские компании нанимали также как программистов(
Здравствуйте, os24ever, Вы писали:
O>Ты описал распильный проект. Их цель — освоить бюджет, и всё.
Он описал проект который создаётся с 0 и это реальность для монгих контор. Я таком проекте участвовал и именно так и было: баззыорды, технологии по статьям и методики разработки от ПМ-а и недо-архитекта. К слову сказать, прототип который мы писали для стенда по технологии предложанной мной, был сделан в срок и работал, а вот проект на базвордах загнулся через 1.5 года. Поэтрму матумба более чем прав.
Здравствуйте, robin_of_the_wood, Вы писали:
___>>>В Яве в таком случае к классу применяется модификатор abstract ну а в плюсах к тому же результату приводит трюк с абстрактным деструктором. BFE>>Но это никак не объясняет, почему именно виртуальный абстрактный деструктор должен быть использован (а не обычный виртуальный деструктор). ___>Странно. Нужно было класс сделать абстрактным не добавляя абстрактных методов. Язык напрямую этого не позволяет.
Допустим, что так. Но зачем? Зачем делать абстрактным класс с реальными методами? Если для запрета создания объектов этого класса, то не проще ли сделать protected конструктор?
___>Используется трюк с именно абстрактным деструктором. Ключевое тут абстрактный и поэтому просто виртуальный деструктор к этому трюку не имеет прямого отношения. А косвенное отношение только в том что в терминах С++ абстрактный — это pure virtual и без virtual не бывает.
Вообще-то я не спрашивал: "Нужно было класс сделать абстрактным не добавляя абстрактных методов.". Вопрос в другом: зачем такое может понадобится?
___>Кстати Вы не замечаете тенденцию в том, что каждый следующий Ваш вопрос все меньше и меньше подходит для использовании на собеседовании? ___>Или Вы пытаетесь эмулировать почти сказочных плохих собеседователей?
Нет. Заметно, что вы отвечаете не на тот вопрос, что спрашивают. Возможно, что и тех.-задания вы будете так же интерпретировать.
Здравствуйте, robin_of_the_wood, Вы писали:
S>>ты не понимаешь где могут применяться описанные тобой конструкции на практике (подсказка: нигде). ___>Сильно сказано. Только вот голословно как-то. ___>Сказали бы "За мои ХХ лет опыта С++ программиста и ХХ лет собеседований плюсовиков я ни разу такого не применял на практике и не встречал у других" ___>А так отдает детским садом
За мои 18 лет работы программистом на С++ и за 21 год его использования я ни разу не применял виртуальный абстрактный деструктор, но дважды встречал его использование. Оба раза с нарушением стандарта. Поэтому мне очень интересно: в какой такой экзотической ситуации он реально понадобился на практике? (И почему, при этом, нельзя было сделать его обычным виртуальным деструктором. )
Здравствуйте, sss1024, Вы писали:
S>тебе предложили ответить. Ты не ответил. Собеседование не прошёл. Можешь обозвать собеседующих дураками, устроить истерику или ещё что подобное, результат от этого не изменится.
Ну начнем с того, что я согласился ответить на любые вопросы.
Вопрос был задан один и весьма своеобразный.
Мой ответ не устроил спрашивавшего, хотя формально был ответом именно на поставленный вопрос.
Вопрос был слегка переформулирован и я ответил и на него.
А вот в третий раз мне показалось что сам автор уже запутался в своем хитром вопросе.
Но с точки зрения собеседований — все верно. Собеседователь вправе задавать любые вопросы.
Даже если они никак не служат основной цели собеседования.
В реальности редко когда ответ на один вопрос приводит к завалу собеседования, но как упрощенный вариант сойдет
Ну а дальше Вы уже странные вещи предлагаете.
Собеседующих обзывать как-то нехорошо. А уж истерику устраивать — очень странно.
Тем более что в нашей игровой ситуации результат был заложен Вами как константа, а все остальное под него подстраивалось.
Ну а в нашем споре я не отрицал возможности такого собеседования, где отрицательный результат предопределен заранее.
Я лишь заявлял, что вероятность подобных собеседований ничтожно мала для тех компаний, которым действительно нужны работники.
___>Ну а в нашем споре я не отрицал возможности такого собеседования, где отрицательный результат предопределен заранее. ___>Я лишь заявлял, что вероятность подобных собеседований ничтожно мала для тех компаний, которым действительно нужны работники.
В любой конторе нужны работники выполняющие работу. Ты не понимаешь как на практике можно применить описанные тобой конструкции а платят тебе именно за применение твоих знаний и умений в работе.
Здравствуйте, B0FEE664, Вы писали:
BFE>Допустим, что так. Но зачем? Зачем делать абстрактным класс с реальными методами? Если для запрета создания объектов этого класса, то не проще ли сделать protected конструктор?
Ну в изначальном вопросе не было и намека на целесообразность.
Если одного и того же результата можно добиться различными путями, то выбор конкретного пути скорее будет зависеть от контекста
___>>Используется трюк с именно абстрактным деструктором. Ключевое тут абстрактный и поэтому просто виртуальный деструктор к этому трюку не имеет прямого отношения. А косвенное отношение только в том что в терминах С++ абстрактный — это pure virtual и без virtual не бывает. BFE>Вообще-то я не спрашивал: "Нужно было класс сделать абстрактным не добавляя абстрактных методов.". Вопрос в другом: зачем такое может понадобится?
Один пример я привел. А уж насколько это нужно, важно, хорошо, плохо — это уже совсем другие вопросы.
___>>Кстати Вы не замечаете тенденцию в том, что каждый следующий Ваш вопрос все меньше и меньше подходит для использовании на собеседовании? ___>>Или Вы пытаетесь эмулировать почти сказочных плохих собеседователей? BFE>Нет. Заметно, что вы отвечаете не на тот вопрос, что спрашивают.
Ну Вы сами придумали такой скользкий вопрос, что попытка его уточнить только запутывает ситуацию.
Такие вопросы очень хороши когда надо голову поморочить и долго говорить ниочем.
BFE>Возможно, что и тех.-задания вы будете так же интерпретировать.
Ну если техзадание будет составлено так, что его можно очень по-разному интерпретировать то надо быть к этому готовым. И проблема не во мне.
Здравствуйте, sss1024, Вы писали:
S>В любой конторе нужны работники выполняющие работу. Ты не понимаешь как на практике можно применить описанные тобой конструкции а платят тебе именно за применение твоих знаний и умений в работе.
Я знаю много всякого. Применял на практике далеко не все. А есть вещи, которые я и не в курсе где можно применять. И это нормально.
Что тут странного?
Здравствуйте, robin_of_the_wood, Вы писали:
BFE>>Допустим, что так. Но зачем? Зачем делать абстрактным класс с реальными методами? Если для запрета создания объектов этого класса, то не проще ли сделать protected конструктор? ___>Ну в изначальном вопросе не было и намека на целесообразность.
Т.е. вопрос:
Для чего может понадобиться виртуальный абстрактный деструктор?
не содержит намёка на целесообразность?
BFE>>Нет. Заметно, что вы отвечаете не на тот вопрос, что спрашивают. ___>Ну Вы сами придумали такой скользкий вопрос, что попытка его уточнить только запутывает ситуацию. ___>Такие вопросы очень хороши когда надо голову поморочить и долго говорить ниочем.
Вопрос о виртуальном абстрактном деструкторе действительно для того, чтобы "голову поморочить".
Однако, вы утверждали, что знаете ответы на все сопутствующие вопросы по данной теме, но пока что не продемонстрировали ответов. Вторая цель с которой может быть создан виртуальный абстрактный деструктор не задекларирована. Так же ни слова о "технической тонкости" связанной с определением деструктора (согласно стандарту 2003 года).
BFE>>Возможно, что и тех.-задания вы будете так же интерпретировать. ___>Ну если техзадание будет составлено так, что его можно очень по-разному интерпретировать то надо быть к этому готовым. И проблема не во мне.
Практически любое тех.-задание можно интерпретировать по-разному. По моему скромному мнению умение понимать, что требуется сделать важнее просто технических знаний.