A base class holds data or behavior that derived classes can reuse.

Base Classes

base_classes.cpp
#include <iostream>
#include <string>

class Device {
public:
    std::string name;

    void printName() {
        std::cout << "device=" << name << std::endl;
    }
};

int main() {
    std::string name = ;

    Device device;
    device.name = name;
    device.printName();
    return 0;
}
#include <iostream>
#include <string>

class Device {
public:
    std::string name;

    void printName() {
        std::cout << "device=" << name << std::endl;
    }
};

int main() {
    std::string name = ;

    Device device;
    device.name = name;
    device.printName();
    return 0;
}
#include <iostream>
#include <string>

class Device {
public:
    std::string name;

    void printName() {
        std::cout << "device=" << name << std::endl;
    }
};

int main() {
    std::string name = ;

    Device device;
    device.name = name;
    device.printName();
    return 0;
}
base class A base class is written before derived classes so common members have one shared definition.