人员工号自动生成,自增的C++代码实现,不使用数据库
时间: 2023-12-03 18:02:41 浏览: 31
如果你不想使用数据库来实现人员工号自动生成,自增,可以考虑使用 C++ 中的静态变量和类静态成员变量来实现。以下是一个示例代码,演示如何使用静态变量和类静态成员变量来实现自增字段:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
Person(string name, int age) : name(name), age(age) {
id = ++maxId; // 自增 id
}
int getId() const {
return id;
}
string getName() const {
return name;
}
int getAge() const {
return age;
}
private:
int id;
string name;
int age;
static int maxId; // 类静态成员变量,用于自增 id
};
int Person::maxId = 0; // 静态成员变量初始化
int main() {
Person p1("John", 25);
cout << "Person 1 - id: " << p1.getId() << ", name: " << p1.getName() << ", age: " << p1.getAge() << endl;
Person p2("Alice", 30);
cout << "Person 2 - id: " << p2.getId() << ", name: " << p2.getName() << ", age: " << p2.getAge() << endl;
Person p3("Bob", 35);
cout << "Person 3 - id: " << p3.getId() << ", name: " << p3.getName() << ", age: " << p3.getAge() << endl;
return 0;
}
```
在这个示例中,我们定义了一个名为 `Person` 的类,其中包含 `id`、`name` 和 `age` 三个私有成员变量。我们使用一个类静态成员变量 `maxId` 来记录当前最大的 id 值,每创建一个新的 `Person` 对象时,都会将 `maxId` 自增并赋值给当前对象的 `id` 成员变量。这样,每个 `Person` 对象都有了一个唯一的、自增的 `id` 值。
在 `main` 函数中,我们创建了三个 `Person` 对象,并输出它们的 `id`、`name` 和 `age` 信息。
需要注意的是,这个示例中的代码只是演示了如何使用静态变量和类静态成员变量来实现自增字段。在实际应用中,你需要根据自己的需求来修改代码。比如,你需要根据用户输入来创建对象,或者你需要在一个循环中多次创建对象等等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)