• ↓
  • ↑
  • ⇑
 
Записи с темой: странные мысли в моей голове... (список заголовков)
01:53 

Я же говорил, что мне этого не надо.

Йа волосат и бородат!
Сеансы просмотра Хауса, как и ожидалось, не принесли ничего хорошего. У меня острый хауссит и теперь мне нужны трость и викодин ириски.

@настроение: Хаусо-хаосовое

@темы: странные мысли в моей голове..., личное

13:56 

Пришла мне мысля...

Йа волосат и бородат!
...когда я бежал к глазодерам. =О.о=

Все знают ситуацию, когда нужно пронаследовать несколько детишек от некоторого класса. И все знают, чем плохо перегружать в детишке невиртуальный метод, а именно что будет, если попробовать вызвать перегруженный метод по указателю на родителя. (перегруженный метод банально не вызовется, ибо в таблицу виртуалов не попадет)
Так вот для преодоления такой фигни в случае закрытого кода с родительским классом возникла мысль написать что-нить вроде:
template <typename Derived_class>
class Middle_base : public Base {
public:
Derived_class * const operator-> () {
return reinterpret_cast <Derived_class * const> (this);
}
};

Наследоваться надо вот так:
class Child : public Middle_base <Child>
{
// ...
};

При этом получается, что в момент наследования от Middle_base класс Child уже обьявлен в той же строке. :) Единственный минус конструкции - что обращаться надо по указателю на Middle_base.

Единственный вопрос возникает - нафига при таком подходе вообще нужны виртуальные методы? =О.о=

ЗЫ: Учитывая, что это была только мысля, которую я еще не довёл до ума...

UPD: К сожалению, на проверке метода выявились 2 проблемы:
1) не происходит вызова Middle_base::operator-> (). Вызов сразу уходит в Base;
2) совершенно непонятно, что делать с самим классом Middle_base . Ибо каждый из них порождает отдельный тип, а это как бы мешает в случае кучи детишек. :/

@темы: программистское, странные мысли в моей голове...

09:36 

Мысли утренние

Йа волосат и бородат!
Вчера на собеседовании у начальника отдела кадров мне задали вопрос - неужели кроме профессиональной литературы я ничего не читаю? На самом деле да - я уже минимум полгода читаю только литературу по программированию и ничего кроме. Но суть-то не в том.

Помнится, во времена студенчества небезызвестный в наших кругах Верхотуров М.А. говорил, что программирование - это не искусство, а ремесло и что он будет приучать нас именно быть ремесленниками. А я как все время не соглашался с этой мыслью, так не соглашаюсь и поныне.

А еще помнится, что некоторое время назад я думал, что надо бы заняться чем-нить творческим, не замечая, что такое занятие у меня уже есть. Кто-то пишет музыку. Кто-то рисует картины. Кто-то сочиняет стихи. Я - программирую.

@темы: странные мысли в моей голове...

20:47 

Мысль...

Йа волосат и бородат!
Представьте, что вам была задана задача - найти иголку в огромном стоге сена.
Нормальные люди зададутся вопросом вида: "Где может быть иголка в этом стоге сена?"
Люди с математическим складом ума, имеющие соответствующее образование (т.е. математики) задумаются - "А есть ли там иголка?"

И только малая часть людей спросят себя - "А есть ли стог?"

@темы: странные мысли в моей голове...

20:41 

Йа волосат и бородат!
Среда... еще только СРЕДА!!!......

@темы: странные мысли в моей голове..., работа

22:21 

Йа волосат и бородат!
Сообщил ведущему о своем уходе в апреле. Он посмотрел на меня очень хитро, не менее хитрющще улыбнулся и сказал "Такс, понятно, учтем".

Чувствую себя идиотом.

@темы: работа, странные мысли в моей голове...

void main()

главная