ibash.org.ru — Новый цитатник Рунета


#14755 + ( 242 )
Нужно написать функцию, возводящую число в 10 степень.
Так сделал бы нормальный человек:
template <int A, int B>
A func (A a, B b) {
return pow (a, b);
}

Так сделал бы нормальный человек, который не знает stl:
double func (double a, int b) {
for (int i = 0; i < b - 1; ++i) {
a *= a;
}
return a;
}

Но почему, мой сотрудник обязательно напишет
double func (double a) {
return a * a * a * a * a * a * a * a * a * a;
}
??????

А когда понадобится 11 степень, он сделает так:
double func (double a, bool is11 = false) {
if (is11 == true)
return a * a * a * a * a * a * a * a * a * a * a;
return a * a * a * a * a * a * a * a * a * a;
}

А когда появится 12 степень, знаете что произойдет?
double func (double a, int stepen = 0) {
switch (stepen) {
case 0: return a * a * a * a * a * a * a * a * a * a; break;
case 1: return a * a * a * a * a * a * a * a * a * a * a; break;
case 2: return a * a * a * a * a * a * a * a * a * a * a; break;
}
return 0;
}

Дата добавления: 19.08.2011 14:10 Дата одобрения: 24.10.2011 20:03 Аппрувер: mva

«ibash.org.ru — Новый цитатник Рунета»
Почта вебмастера: imail@ibash.org.ru