帮我写一个c++程序,1、设计一个Employee类,并在Employee类中增加一个静态数据成员来设置本公司员工编号基数,新增加的员工编号将在创建对象的同时自动在基数上增加。另外,将Employee类的声明部分和实现部分分成两个文件来实现。编程实现之。
时间: 2024-04-30 21:18:33 浏览: 10
下面是Employee类的实现,包括头文件和源文件:
Employee.h
```c++
#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
class Employee {
public:
Employee(const std::string& name, const std::string& position);
std::string getName() const;
std::string getPosition() const;
int getEmployeeNumber() const;
private:
std::string name_;
std::string position_;
int employeeNumber_;
static int baseEmployeeNumber_;
};
#endif // EMPLOYEE_H
```
Employee.cpp
```c++
#include "Employee.h"
int Employee::baseEmployeeNumber_ = 1000;
Employee::Employee(const std::string& name, const std::string& position)
: name_(name), position_(position), employeeNumber_(baseEmployeeNumber_++) {}
std::string Employee::getName() const {
return name_;
}
std::string Employee::getPosition() const {
return position_;
}
int Employee::getEmployeeNumber() const {
return employeeNumber_;
}
```
下面是一个使用Employee类的示例:
main.cpp
```c++
#include <iostream>
#include "Employee.h"
int main() {
Employee jack("Jack", "Manager");
Employee tom("Tom", "Engineer");
Employee amy("Amy", "Sales");
std::cout << jack.getName() << " (" << jack.getPosition() << ") "
<< "Employee Number: " << jack.getEmployeeNumber() << std::endl;
std::cout << tom.getName() << " (" << tom.getPosition() << ") "
<< "Employee Number: " << tom.getEmployeeNumber() << std::endl;
std::cout << amy.getName() << " (" << amy.getPosition() << ") "
<< "Employee Number: " << amy.getEmployeeNumber() << std::endl;
return 0;
}
```
输出:
```
Jack (Manager) Employee Number: 1000
Tom (Engineer) Employee Number: 1001
Amy (Sales) Employee Number: 1002
```