c++面向对象创建一个学生类包括数据成员姓名年龄性别身份证学号入学时间,设计成员函数实现显示学生信息修改入学时间验证身份证功能
时间: 2024-09-27 18:13:07 浏览: 72
在C++中,我们可以创建一个名为`Student`的类来表示学生的基本信息,并为其添加相应的数据成员和成员函数。这里是一个简单的示例:
```cpp
class Student {
private:
std::string name; // 姓名
int age; // 年龄
char gender; // 性别
std::string id_number; // 身份证号
std::string student_id; // 学号
std::string enrollment_date; // 入学时间
public:
// 构造函数
Student(std::string name, int age, char gender, std::string id_number, std::string student_id, std::string enrollment_date)
: name(name), age(age), gender(gender), id_number(id_number), student_id(student_id), enrollment_date(enrollment_date) {}
// 显示学生信息
void display_info() {
std::cout << "姓名: " << name << "\n";
std::cout << "年龄: " << age << "\n";
std::cout << "性别: " << gender << "\n";
std::cout << "身份证号: " << id_number << "\n";
std::cout << "学号: " << student_id << "\n";
std::cout << "入学时间: " << enrollment_date << "\n";
}
// 修改入学时间
void update_enrollment_time(const std::string& new_date) {
enrollment_date = new_date;
}
// 验证身份证功能 (这里只是一个简单的示例,实际验证需要复杂的正则表达式或其他验证规则)
bool validate_id(const std::string& expected_pattern) const {
// 检查身份证号是否匹配预期模式,例如中国大陆的18位数字
if (id_number.length() != expected_pattern.length()) {
return false;
}
for (size_t i = 0; i < expected_pattern.length(); ++i) {
if (expected_pattern[i] != id_number[i]) {
return false;
}
}
return true;
}
};
// 示例
int main() {
Student s("张三", 18, 'M', "123456789012345678", "2022010101", "2022-09-01");
s.display_info();
s.update_enrollment_time("2022-9]\d{5}(18|19|20)[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$")) {
std::cout << "身份证验证通过。\n";
} else {
std::cout << "身份证验证失败。\n";
}
return 0;
}
```
阅读全文