Я знаю, что можно вызывать функцию базового класса в конструкторе производного класса, потому что базовый класс создается перед производным классом. Но я не уверен, что это хорошая практика. Пример кода:
class Base {
public:
int Get() const { return i_; }
void Set(const int i) { i_ = i; }
private:
int i_{0};
};
class Derived : public Base {
// initialize `derived_i_` with a call to base class function, Is this a good
// practice in production code?
Derived() : derived_i_{Get()} {
// do some other things
}
private:
int derived_i_{0};
};