B
и использовать делегирующий конструктор.struct A {
A(const std::string& name = "A class") : name(name) {}
const std::string& getName() const {return name;}
std::string name {"A class"};
};
struct B : public A {
B(const std::string& name = {"B class"}) : A(name) {}
};
Что ж, добавлю как ответ
Кстати, а почему использовать аргументы по умолчанию плохо?