(B<A>), , . , , , . , , Java - , , ++, .
template<typename T> class BImpl {
String runSomething(const String& name) {
if(name.equals("something")) {
return T::getSomething();
} else {
return "Invalid name!";
}
}
};
typedef BImpl<A> B;
mock A, . Infact, - - CRTP.
class A : public BImpl<A> {
String getSomething() {
}
}
.