员工管理系统:创建一个基类Employee,包含基本的信息和行为,如name、age、salary等。然后创建派生类,如Manager、Engineer等,它们可能有不同的行为和更多的信息。
#include<iostream>
#include<string>
using namespace std;
class Employee
{
protected:
string name;
int age;
double salary;
public:
Employee(string name, int age, double salary): name(name), age(age), salary(salary){}
virtual void display(){
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
}
virtual ~Employee(){}
};
class Manager : public Employee
{
protected:
string department;
public:
Manager(string name, int age, double salary, string department):
Employee(name, age, salary),department(department){}
void display()override
{
Employee::display();
cout << "Department: " << department << endl;
}
};
class Engineer: public Employee
{
private:
string specialty;
public:
Engineer(string name, int age, double salary, string specialty) :
Employee(name, age, salary), specialty(specialty) {}
void display()override
{
Employee::display();
cout <<"Specialty: "<<specialty<<endl;
}
};
int main() {
Manager m("Alice", 45, 120000, "HR");
Engineer e("Bob", 30, 80000, "Software");
m.display();
std::cout << std::endl;
e.display();
return 0;
}
输出结果: