そもそも実装継承ってそういう意味だっけ?
C++はもう何十年も触ってないからあやふやだけど

public継承:インタフェースも含めた普通の継承、is-aとしてサブクラスを定義、(サブタイプ化のための)継承。
private継承:インタフェースを含めずに、せいぜい実装の手間を省くための継承、すなわち、実装(のためだけの)継承。

#include <iostream>
struct B {
int foo() {return 42;}
};
struct D : public B {};
struct E : private B {
int bar() {return foo();}
};
int main() {
B d = D();
std::cout << d.foo() << std::endl;
//B e = E(); // ‘B’ is an inaccessible base of ‘E’
E e;
std::cout << e.bar() << std::endl;
return 0;
}

// サブタイプ関係にないEの、bar()の実装の都合で行うのが、private継承、すなわち実装継承

こんな話じゃなかった?