Здравствуйте, ilya_ny, Вы писали:
_>собеседование.. 3 мужика
_>1.
_>один нарисовал квадратик, другой взял у него бумажку, подумал немного, и рядом подрисовал прямоугольничек и спращивает : "что от чего порождено ? а нарисуй-ка нам классы!"
_>я говорю, что квадратик порожден от прямоугольничка, на что третий мужичек сразу и говорит : "а не фига вы, молодой человек, ооп не знаете"
_>после этого третий ничего не произнес до самого конца собеседования.
Абстрактный класс CShape(чисто виртуальный метода Draw) и производные от него CSqure,etc
_>2.
_>потом был вопрос в каких случаях надо применять интерфейсы, а в каких абстрактные классы
А в чем разница?
_>3. в каком порядке проинициализируются a, b, c
_>_>class A{
_>int a;
_>int b;
_>int c;
_>public:
_>A() : c(2), a(1), b(0)
_>};
_>
В таком порядке: a,b,c(Ответ по алфавиту в данном случае можно считать правильным

)
_>4. есть ли тут ошибка:
_>_>class A{
_>public:
_> A& operator+ (A a);
_>};
_>
_>я говорю, что нету, что компилироваться будет.
_>он говорит, ок, компилироваться будет, а работать не будет
_>я говорю, что можно и так сделать, что работать будет.. а он НЕТ НЕТ НЕТ...
Он прав. Возврат ссылки на локальную переменную.
P.S. Прошу прощения за объем цитирования. Ничего вырезать не смог.