Код: Выделить всё
class A {
public:
// ...
void setID(B* b, unsigned int ID);
void setName(B* b, string name);
void setNumber(B* b, unsigned int num);
// ...
};
Код: Выделить всё
void A::setID(B* b, unsigned int ID) {
foo(b);
b->doSomethingWithID(ID);
bar(b);
}
void A::setName(B* b, string name) {
foo(b);
b->doSomethingWithName(name);
bar(b);
}
void A::setNumber(B* b, int num) {
foo(b);
b->doSomethingWithNum(num);
bar(b);
}
Есть ли возможность написать только одну общую функцию set(), которую я могу передать функции, которая будет выполняться на b, чтобы уменьшить объем скопированного кода?
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-one-in-c
Мобильная версия