struct A {
const std::string& getName() const {return name;}
std::string name {"A class"};
};
struct B : public A {
std::string name {"B class"};
};
int main() {
A a;
B b;
std::cout << a.getName() << std::endl;
std::cout << b.getName() << std::endl;
return 0;
}
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"s) : A(name) {}
};