#include <iostream>
#include <string>
class Employee {
private:
std::string name;
int id;
double salary;
public:
// Primary constructor
Employee(const std::string& n, int i, double s)
: name(n), id(i), salary(s) {
std::cout << "Primary constructor called" << std::endl;
}
// Delegating constructor
Employee(const std::string& n, int i)
: Employee(n, i, 50000.0) { // Calls the primary constructor
std::cout << "Delegating constructor called" << std::endl;
}
void display() const {
std::cout << name << " (ID: " << id << ") earns $" << salary << std::endl;
}
};
int main() {
Employee emp1("Bob", 1001, 60000.0);
emp1.display();
Employee emp2("Alice", 1002);
emp2.display();
return 0;
}