Здравствуйте, DangerDen, Вы писали:
DD>Саттер ошибся в совей задачке? (3.4 на стр. 187) DD>//--------------------------------------------------- DD>// File gta.h DD>//--------------------------------------------------- DD>class GenericTableAlgorithm DD>private: DD> virtual bool ProcessRow( const PrimaryKey& ) =0;
..... DD> struct GenericTableAlgorithmImpl* pimpl_; // MYOB DD>};
DD>Он говорит что это пример паттерна из сабжа. DD>Но какой смысл в private pure virtual методе? Ведь у наследников нет к нему доступа и как они его будут переопределять...
Как обычно. При переопределении доступ к переопределяемой функции не требуется. Единственное, что убирает private -- возможность
вызова GenericTableAlgorithm::ProcessRow из потомка, что и не нужно, так как тело этого метода не определено.