example3_inheriting_constructors.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>

class Animal {
public:
    Animal(const std::string& name) : name_(name) {}
    void speak() const { std::cout << "Some animal sound" << std::endl; }

protected:
    std::string name_;
};

class Dog : public Animal {
public:
    using Animal::Animal;  // Inherit constructors
    void speak() const { std::cout << name_ << " says: Woof!" << std::endl; }
};

int main() {
    Dog dog("Buddy");
    dog.speak();

    return 0;
}
Back to using