Is it correct to use the CRTP (Curiously Recurring Template Pattern) along with the inheritance of an abstract class in C++? If so, is there any potential issue related to this construct? Below given code snippet describes my question.
template<class T>
class Base {
void method_01() {
static_cast<T*>(this)->method_01();
}
};
class AbstractBase {
virtual void method_02() = 0;
};
class A : public Base<A>, public AbstractBase {
};
Is there any possibility how replace the abstract class inheritance also by the CRTP so the A class uses the CRTP in double manner something like that
class A : public Base_01<A>, public Base_02<A> {
};