https://www.geeksforgeeks.org/calling-virtual-methods-in-constructordestructor-in-cpp/
#include <string>
#include <iostream>
using namespace std;
class Father {
public:
Father () {
// func(); //compiler will warning
indirect_call(); //compiler won't warning
};
void indirect_call() {
func();
}
virtual void func() = 0;
};
class Son : Father {
public:
void func() override {}
};
int main (void)
{
Son a;
}