#include <iostream>
#include <string>
class Animal {
public:
Animal() = default;
Animal(const std::string& n) : name(n){}
std::string name;
};
class Dog : public Animal {
public:
// Good: assign value by base class stor
Dog(const std::string& n) : Animal(n) {}
// Bad: assign value by derived class stor
Dog(const std::string& n) { name = n; }
};
int main() {
Dog d("Buddy");
std::cout << d.name << "\n";
return 0;
}