Он пробовал что-то подобное, но это не работает. Есть ли способ получить подобный эффект?
class A { public: int foo(); void bar(int b = foo()); };
Да. Перегрузите функцию и вызовите в ней функцию-член.
void bar() { bar(foo()); }