Por que realmente precisamos de herança Privada ou Protegida em C ++?

Em C ++, não consigo pensar em um caso em que gostaria de herdar private / protected de uma classe base:

class Base;
class Derived1 : private Base;
class Derived2 : protected Base;

Isso é realmente útil?