OO , , , , , . NVI, , - , , :
++ ( ), , - - - .
: , , , . . , , , 'private'. 'private' , .
, , NVI, , :
class Base {
public:
void foo() {
foo_impl();
}
private:
virtual void foo_impl() = 0;
};
foo() { foo_impl(); } , , , , . , , , , : ( foo_impl)
void Base::foo() {
scoped_log log( "calling foo" );
lock l(mutex);
foo_impl();
}
, , .