Здравствуйте, sysenter, Вы писали:
ДТ>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования. ДТ>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++, ДТ>>в классе-потомке вызвать приватный метод класса-предка?" ДТ>>99,99% Вам ответят, что "нет", а правильный ответ — "да" S>И как его вызвать?
Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора.
Re[2]: Собеседование: соискатель наносит ответный удар
Здравствуйте, sysenter, Вы писали:
ДТ>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования. ДТ>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++, ДТ>>в классе-потомке вызвать приватный метод класса-предка?" ДТ>>99,99% Вам ответят, что "нет", а правильный ответ — "да"
S>И как его вызвать? Читайте мой бильд или платите бапки.
{Топикстартер ведь тоже так и не ответил своему интервьюеру)
Здравствуйте, quwy, Вы писали:
Q>Здравствуйте, sysenter, Вы писали:
ДТ>>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования. ДТ>>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++, ДТ>>>в классе-потомке вызвать приватный метод класса-предка?" ДТ>>>99,99% Вам ответят, что "нет", а правильный ответ — "да" S>>И как его вызвать? Q>Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора.
Здравствуйте, TimurSPB, Вы писали:
TSP>Никогда бы не стал делать такую перегрузку. Да и в отладчике ловиться такой глюк очень легко.
Пример был взят из реальной жизни. Реального кода, созданного реальным программистом (между прочим, с профильным образованием, N-летним опытом, и прочими — хотел сказать "понтами", но не скажу, потому как мне этот человек ничего плохого не сделал). На самом деле, у функции были еще аргументы, и использовался, ЕМНИП, не std::string, а QString, и ситуация была сложнее описанной: была константа типа QString, потом ее заменили на const char*, уж не помню, из каких соображений, проблемы с макросом tr() , как-то так. И после этой эпической замены рвануло совершенно в неожиданном месте. "Эффект бабочки", однако. А отловилось — совершенно верно, при помощи gdb прошелся по стеку вызовов.
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re: Собеседование: соискатель наносит ответный удар
А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
Re[5]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Паблик Морозов, Вы писали:
ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
Их там слишком много. Соответственно, чем больше опыта, тем больше граблей человек знает.
Re[3]: Собеседование: соискатель наносит ответный удар
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, Паблик Морозов, Вы писали:
ПМ>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
A>Их там слишком много. Соответственно, чем больше опыта, тем больше граблей человек знает.
Или уже начинает забывать, почему применяет какую-либо практику. Просто забыл уже про ту конкретную граблю... а вот практика уже в подкорке...
Неоконченная мысль всегда казалась Шри Япутре слишком
Re[5]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Доктор ТуамОсес, Вы писали:
Q>>Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора. ДТ>Я же сказал без грязных хаков
Грязный хак -- это таблицу виртуальных методов парсить, а это вполне себе чистый хак, ИМХО.
Re: Собеседование: соискатель наносит ответный удар
Здравствуйте, slava_phirsov, Вы писали:
_>(Я): Вот например, простенький пример из жизни: почему в C++ нельзя перегружать функцию по const string& и bool? _>(И): Почему нельзя? Можно!
Вы ошиблись,
_>(Я): Хорошо, язык это позволяет, но делать так не стоит. Почему?
Признаете что ошиблись.
_>(И)(задумчиво): Неоднозначности тут не возникнет... Вы не правы!
+1
_>(Я): Хорошо, подумайте над этим. Вопрос на самом деле нуууу очень простой! _>Вежливо прощаемся.
Я вот тоже смотрю на вопрос и тупо не понимаю отчего у вас в голове могло сформироваться такое мнение.
Пример с вызовом функции с char* это нелепость какая то. Т.е. с какого перепугу програмист вызывая func("hello") будет ожидать преобразования типа в string?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Паблик Морозов, Вы писали:
ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
Более того, изначальная история в вольном изложении для непосвященного человека вроде меня выглядит так:
Топиккастер обнаружил грабли на одной из улиц, после чего пометил всю улицу как запретную, а затем начал спрашивать у интервьюера, почему нельзя ходить по той улице. Ну там же грабли лежат, правильно?
Re[4]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>Здравствуйте, sysenter, Вы писали:
ДТ>>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования. ДТ>>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++, ДТ>>>в классе-потомке вызвать приватный метод класса-предка?" ДТ>>>99,99% Вам ответят, что "нет", а правильный ответ — "да"
S>>И как его вызвать? ДТ>Читайте мой бильд или платите бапки. ДТ>{Топикстартер ведь тоже так и не ответил своему интервьюеру)
На самом деле Дохтур ГуамОсек тоже не знает ответа. Он просто где-то сPIздил этот вопрос. В полне возможно, что у такого же "эксперта" как и он сам.
Re: Собеседование: соискатель наносит ответный удар
Здравствуйте, slava_phirsov, Вы писали: _>Кладу трубку.
Меня после чем-то похожей истории на работу взяли. Будущий начальник спрашивал что-то про сиквел и настаивал на неправильном ответе. С собеседования послал. Ну я домой пришел, еще раз проверил свой ответ, и написал письмо ему. Через 20 минут звонок "когда сможешь выйти на работу?". Чел в итоге дельный оказался, просто временно затупил.
Re[5]: Собеседование: соискатель наносит ответный удар
Ну если базовый тип содержать виртуальные функции, то наверно можно как то расковырять таблицу хотя не знаю, в ней ведь будут только виртуальные функции. Я так понимаю это не переносимо и уж точно не может считаться честным способом.
Можно ещё собственное определение класса написать, в котором зафрендить какой-нибудь свой другой класс желающий доступаться до приватных членов. И включать его вместо вместо оригинального определения. Только это нарушает ODR и тоже не может считаться честным способом.
Или если в оригинальном классе публичная шаблонная функция, то можно сделать специализацию.
Здравствуйте, Паблик Морозов, Вы писали:
ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.
Re[3]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Паблик Морозов, Вы писали:
ПМ>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
OE>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.
Или накануне собеседования прочитал про них в книжке
Здравствуйте, Доктор ТуамОсес, Вы писали:
ПМ>>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет. OE>>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал. ДТ>Или накануне собеседования прочитал про них в книжке
если бы все было так просто — прочитал в книжке и больше на эти грабли не наступаешь....
Re[5]: Собеседование: соискатель наносит ответный удар
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Доктор ТуамОсес, Вы писали:
ПМ>>>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет. OE>>>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал. ДТ>>Или накануне собеседования прочитал про них в книжке
OE>если бы все было так просто — прочитал в книжке и больше на эти грабли не наступаешь....