2. 学生管理类的定义和访问 请编写程序:在学生管理中定义一个学生的信息包括学号、姓名、年龄等。这些信息为私有的数据成员,具有不同的数据类型。从键盘输入自己的学号、姓名和年龄。(程序参考教材例子) c++
时间: 2024-10-19 13:04:01 浏览: 31
在 C++ 中,我们可以定义一个名为 `Student` 的类来表示学生的信息,其中包含私有变量(即数据成员),用于存储学生的学号、姓名和年龄。然后,我们可以提供公有的成员函数(getters 和 setters)来获取和设置这些信息。以下是简单的实现:
```cpp
#include <iostream>
#include <string>
class Student {
private:
// 私有数据成员
int student_id;
std::string name;
int age;
public:
// 构造函数
Student(int id, const std::string& name, int age) :
student_id(id), name(name), age(age) {}
// 获取学号的成员函数 (getter)
int getStudentId() const {
return student_id;
}
// 设置学号的成员函数 (setter)
void setStudentId(int id) {
student_id = id;
}
// 获取姓名的成员函数 (getter)
std::string getName() const {
return name;
}
// 设置姓名的成员函数 (setter)
void setName(const std::string& name) {
this->name = name; // 使用this指针防止与其他同名变量冲突
}
// 获取年龄的成员函数 (getter)
int getAge() const {
return age;
}
// 设置年龄的成员函数 (setter)
void setAge(int age) {
this->age = age; // 同上,使用this指针
}
};
int main() {
// 创建一个 Student 对象并从键盘输入数据
Student student;
std::cout << "请输入学号: ";
int id;
std::cin >> id;
student.setStudentId(id);
std::cout << "请输入姓名: ";
std::string name;
std::cin >> name;
student.setName(name);
std::cout << "请输入年龄: ";
int user_age;
std::cin >> user_age;
student.setAge(user_age);
// 输出学生信息
std::cout << "学生信息: " << std::endl;
std::cout << "学号: " << student.getStudentId() << std::endl;
std::cout << "姓名: " << student.getName() << std::endl;
std::cout << "年龄: " << student.getAge() << std::endl;
return 0;
}
```
在这个程序中,我们首先定义了一个 `Student` 类,然后在 `main()` 函数中创建了一个 `Student` 实例,并通过用户输入获取了相应的属性值。之后,我们展示了如何通过公有的 getter 和 setter 访问和修改这些信息。
阅读全文