The code below has some contractions, please do not try to ... it.
class God
{
void DoNothing ();
private:
void CreateSomeWorld ();
friend class Alien;
}
class Human : public God
{
Human (const Human& mother, const Human& father); // birth
virtual ~Human (); // death
virtual bool AreYouHappy () = 0;
virtual void BeHappy (Stuff reason) = 0;
virtual void WasteTime ()
{
DoNothing (); // you know OOP, right? ;)
}
}
class Programmer : public Human
{
// many important things about beer, gadgets, junk food and stuff
}
class Sergey : public Programmer
{
void MoveToCanada ();
virtual void WasteTime ()
{
if (day_of_year % 256 == 0)
Celebrate ();
else
// TODO: should be call WorkHard (), fix in the next release
Human::WasteTime ();
}
}
.... somewhere in the big life loop ....
for (Human& item : all_people_heap)
{
if (item.AreYouHappy ())
item.WasteTime ();
else
item.BeHappy ();
}
Переводя вышеизложенное на обычный человеческий:
С Праздником, дорогие Программисты, Программеры и прочие сочувствующие!
class God
{
void DoNothing ();
private:
void CreateSomeWorld ();
friend class Alien;
}
class Human : public God
{
Human (const Human& mother, const Human& father); // birth
virtual ~Human (); // death
virtual bool AreYouHappy () = 0;
virtual void BeHappy (Stuff reason) = 0;
virtual void WasteTime ()
{
DoNothing (); // you know OOP, right? ;)
}
}
class Programmer : public Human
{
// many important things about beer, gadgets, junk food and stuff
}
class Sergey : public Programmer
{
void MoveToCanada ();
virtual void WasteTime ()
{
if (day_of_year % 256 == 0)
Celebrate ();
else
// TODO: should be call WorkHard (), fix in the next release
Human::WasteTime ();
}
}
.... somewhere in the big life loop ....
for (Human& item : all_people_heap)
{
if (item.AreYouHappy ())
item.WasteTime ();
else
item.BeHappy ();
}
Переводя вышеизложенное на обычный человеческий:
С Праздником, дорогие Программисты, Программеры и прочие сочувствующие!
С праздником !!! Успехов и удач во всех делах!!!
ReplyDeleteОт жеж фильтры. Дубль два.
ReplyDelete#include "God.h"
#include "Human.h"
#include "Programmer.h"
#include "Sergey.h"
God gd;
Sergey Turlachev;
void BigBang(void)
{
gd.DoNothing();
Turlachev.MoveToCanada();
Turlachev.BeHappy();
}
Олично! а где ж ты? =)
DeleteВот и Яблоко порадовало к празднику новым iPhone 5, на 20% тоньше, на 20% легче... Порадуюсь за фанатов.
ReplyDeleteПрограммер, хорош праздновать, уже 3 дня прошло :) Даёшь историю про США!
ReplyDeleteГотова история. А поздравление то где? =)
Deleteа я прочитал твой пост только вчера ) с прошедшим не поздравил, извини :) ДОРОГОЙ ДРУГ, ПОЗДРАВЛЯЮ ТЕБЯ С ПРОФЕССИОНАЛЬНЫМ ПРАЗДНИКОМ! ТЫ САМЫЙ ВЕЛИКИЙ ПРОГРАММИСТ ЗАПАДНОГО ПОЛУШАРИЯ ПЛАНЕТЫ! БОЛЬШИХ УСПЕХОВ! УР-РАА!
ReplyDeleteВооот, другое дело, брат связист =)
DeleteУ Human и Sergey все методы private, хе-хе. Так что не скомпилируется твой код. :) Наследование Human от God тоже готичное.
ReplyDeleteДа, и где же реализация Turlachev::AreYouHappy ()? :)
Ну так some contractions же, take it easy =) И так слишклм длинно получилось. Если совсем беспокоит, то грязный хак первой строчкой #define class struct ;)
Delete