Re[3]: Собеседование: соискатель наносит ответный удар
От: quwy  
Дата: 25.08.11 13:23
Оценка:
Здравствуйте, sysenter, Вы писали:

ДТ>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования.

ДТ>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++,
ДТ>>в классе-потомке вызвать приватный метод класса-предка?"

ДТ>>99,99% Вам ответят, что "нет", а правильный ответ — "да"
S>И как его вызвать?
Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора.
Re[2]: Собеседование: соискатель наносит ответный удар
От: const_volatile  
Дата: 25.08.11 13:28
Оценка:
Здравствуйте, Kolobrodin, Вы писали:

K>Вот тут обсуждалось ))

K>http://rsdn.ru/forum/cpp/4225895.flat.aspx#4225895
Автор: Ytz
Дата: 08.04.11


обратите внимание на автора того поста. спустя 4 месяца Ytz благополучно наступает на те же грабли
Re[3]: Собеседование: соискатель наносит ответный удар
От: Ytz https://github.com/mtrempoltsev
Дата: 25.08.11 13:57
Оценка: :)))
Здравствуйте, const_volatile, Вы писали:

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


K>>Вот тут обсуждалось ))

K>>http://rsdn.ru/forum/cpp/4225895.flat.aspx#4225895
Автор: Ytz
Дата: 08.04.11


_>обратите внимание на автора того поста. спустя 4 месяца Ytz благополучно наступает на те же грабли


Некоторые ничему не учатся
Re[3]: Собеседование: соискатель наносит ответный удар
От: Доктор ТуамОсес Гондурас Мой новый проект "ВЕПРЬ-1"
Дата: 25.08.11 13:58
Оценка:
Здравствуйте, sysenter, Вы писали:

ДТ>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования.

ДТ>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++,
ДТ>>в классе-потомке вызвать приватный метод класса-предка?"

ДТ>>99,99% Вам ответят, что "нет", а правильный ответ — "да"

S>И как его вызвать? Читайте мой бильд или платите бапки.

{Топикстартер ведь тоже так и не ответил своему интервьюеру)
Мой новый проект "ВЕПРЬ-1"
Re[4]: Собеседование: соискатель наносит ответный удар
От: Доктор ТуамОсес Гондурас Мой новый проект "ВЕПРЬ-1"
Дата: 25.08.11 14:00
Оценка:
Здравствуйте, quwy, Вы писали:

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


ДТ>>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования.

ДТ>>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++,
ДТ>>>в классе-потомке вызвать приватный метод класса-предка?"

ДТ>>>99,99% Вам ответят, что "нет", а правильный ответ — "да"
S>>И как его вызвать?
Q>Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора.

Я же сказал без грязных хаков
Мой новый проект "ВЕПРЬ-1"
Re[2]: Собеседование: соискатель наносит ответный удар
От: slava_phirsov Россия  
Дата: 25.08.11 14:58
Оценка: 2 (1)
Здравствуйте, TimurSPB, Вы писали:

TSP>Никогда бы не стал делать такую перегрузку. Да и в отладчике ловиться такой глюк очень легко.


Пример был взят из реальной жизни. Реального кода, созданного реальным программистом (между прочим, с профильным образованием, N-летним опытом, и прочими — хотел сказать "понтами", но не скажу, потому как мне этот человек ничего плохого не сделал). На самом деле, у функции были еще аргументы, и использовался, ЕМНИП, не std::string, а QString, и ситуация была сложнее описанной: была константа типа QString, потом ее заменили на const char*, уж не помню, из каких соображений, проблемы с макросом tr() , как-то так. И после этой эпической замены рвануло совершенно в неожиданном месте. "Эффект бабочки", однако. А отловилось — совершенно верно, при помощи gdb прошелся по стеку вызовов.
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re: Собеседование: соискатель наносит ответный удар
От: Паблик Морозов  
Дата: 25.08.11 15:43
Оценка: 2 (2) +1
А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.
Re[5]: Собеседование: соискатель наносит ответный удар
От: carpenter Голландия  
Дата: 25.08.11 16:08
Оценка:
Здравствуйте, placement_new, Вы писали:


_>А если вызвать с метод "bla-bla" ?


я долго вкуривал что это за метод "bla-bla"
Весь мир — Кремль, а люди в нем — агенты
Re[2]: Собеседование: соискатель наносит ответный удар
От: alzt  
Дата: 25.08.11 19:23
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.


Их там слишком много. Соответственно, чем больше опыта, тем больше граблей человек знает.
Re[3]: Собеседование: соискатель наносит ответный удар
От: Kolobrodin Россия  
Дата: 25.08.11 19:53
Оценка: +2
Здравствуйте, alzt, Вы писали:

A>Здравствуйте, Паблик Морозов, Вы писали:


ПМ>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.


A>Их там слишком много. Соответственно, чем больше опыта, тем больше граблей человек знает.


Или уже начинает забывать, почему применяет какую-либо практику. Просто забыл уже про ту конкретную граблю... а вот практика уже в подкорке...
Неоконченная мысль всегда казалась Шри Япутре слишком
Re[5]: Собеседование: соискатель наносит ответный удар
От: quwy  
Дата: 26.08.11 12:26
Оценка:
Здравствуйте, Доктор ТуамОсес, Вы писали:

Q>>Наверное при помощи предварительного #define private public или аналогичным методом в комстроке компилятора.

ДТ>Я же сказал без грязных хаков
Грязный хак -- это таблицу виртуальных методов парсить, а это вполне себе чистый хак, ИМХО.
Re: Собеседование: соискатель наносит ответный удар
От: minorlogic Украина  
Дата: 27.08.11 11:20
Оценка: -1
Здравствуйте, 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]: Собеседование: соискатель наносит ответный удар
От: SE Украина  
Дата: 27.08.11 15:51
Оценка: +4 :))
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.


Более того, изначальная история в вольном изложении для непосвященного человека вроде меня выглядит так:

Топиккастер обнаружил грабли на одной из улиц, после чего пометил всю улицу как запретную, а затем начал спрашивать у интервьюера, почему нельзя ходить по той улице. Ну там же грабли лежат, правильно?

Re[4]: Собеседование: соискатель наносит ответный удар
От: uncommon Ниоткуда  
Дата: 28.08.11 15:54
Оценка:
Здравствуйте, Доктор ТуамОсес, Вы писали:

ДТ>Здравствуйте, sysenter, Вы писали:


ДТ>>>Подкину Вас ещё вопросик в Вашу коллекцию для хождения на собеседования.

ДТ>>>"Можно ли без всяких "грязных хаков", чисто используя стандартные средства C++,
ДТ>>>в классе-потомке вызвать приватный метод класса-предка?"

ДТ>>>99,99% Вам ответят, что "нет", а правильный ответ — "да"

S>>И как его вызвать?

ДТ>Читайте мой бильд или платите бапки.
ДТ>{Топикстартер ведь тоже так и не ответил своему интервьюеру)

На самом деле Дохтур ГуамОсек тоже не знает ответа. Он просто где-то сPIздил этот вопрос. В полне возможно, что у такого же "эксперта" как и он сам.
Re: Собеседование: соискатель наносит ответный удар
От: Synapse  
Дата: 30.08.11 01:09
Оценка:
Здравствуйте, slava_phirsov, Вы писали:
_>Кладу трубку.
Меня после чем-то похожей истории на работу взяли. Будущий начальник спрашивал что-то про сиквел и настаивал на неправильном ответе. С собеседования послал. Ну я домой пришел, еще раз проверил свой ответ, и написал письмо ему. Через 20 минут звонок "когда сможешь выйти на работу?". Чел в итоге дельный оказался, просто временно затупил.
Re[5]: Собеседование: соискатель наносит ответный удар
От: TarasKo Голландия  
Дата: 30.09.11 03:01
Оценка:
Ну если базовый тип содержать виртуальные функции, то наверно можно как то расковырять таблицу хотя не знаю, в ней ведь будут только виртуальные функции. Я так понимаю это не переносимо и уж точно не может считаться честным способом.

Можно ещё собственное определение класса написать, в котором зафрендить какой-нибудь свой другой класс желающий доступаться до приватных членов. И включать его вместо вместо оригинального определения. Только это нарушает ODR и тоже не может считаться честным способом.

Или если в оригинальном классе публичная шаблонная функция, то можно сделать специализацию.

// X.h
class X {
   void f_priv() {...}
public:
   template <typename T> f_publ(conts T&) { ... }
};

// Y.h

namespace {
   struct shit {};
}

template<>
void X::f(const shit&) {
   f_priv(); // Зовём чё хотим, меняем любые приватные члены.
}

Этот способ уже честный на 100% но требует наличия шаблоного метода.

Интересно услышать правильный ответ и оценить его чистоту
Re[2]: Собеседование: соискатель наносит ответный удар
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 30.09.11 03:27
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.


это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.
Re[3]: Собеседование: соискатель наносит ответный удар
От: Доктор ТуамОсес Гондурас Мой новый проект "ВЕПРЬ-1"
Дата: 30.09.11 07:49
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, Паблик Морозов, Вы писали:


ПМ>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.


OE>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.

Или накануне собеседования прочитал про них в книжке
Мой новый проект "ВЕПРЬ-1"
Re[4]: Собеседование: соискатель наносит ответный удар
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 30.09.11 08:03
Оценка:
Здравствуйте, Доктор ТуамОсес, Вы писали:

ПМ>>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.

OE>>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.
ДТ>Или накануне собеседования прочитал про них в книжке

если бы все было так просто — прочитал в книжке и больше на эти грабли не наступаешь....
Re[5]: Собеседование: соискатель наносит ответный удар
От: Доктор ТуамОсес Гондурас Мой новый проект "ВЕПРЬ-1"
Дата: 30.09.11 08:32
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, Доктор ТуамОсес, Вы писали:


ПМ>>>>А мне вот что интересно — почему любое собеседование по С/С++ непременно сводится к граблям? У меня, как у стороннего наблюдателя, складывается впечатление, что кроме граблей в нём, собственно, ничего и нет.

OE>>>это наиболее простой способ выяснить реальный опыт человека в С/С++. Если опыт есть, то человек на большинство грабель так или иначе наступал.
ДТ>>Или накануне собеседования прочитал про них в книжке

OE>если бы все было так просто — прочитал в книжке и больше на эти грабли не наступаешь....


"А кому сейчас легко?"©
Мой новый проект "ВЕПРЬ-1"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.