编程2:定义一个学术类,其中有3个数据成员有学号、姓名、年龄以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。要求:1)使用成员函数实现对输出的输入、输出 2)使用构造函数和析构函数实现对数据的输入、输出。用C++语言
时间: 2024-11-04 14:16:19 浏览: 36
在C++中,你可以创建一个名为`Student`的类来满足上述需求。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
class Student {
public:
// 构造函数,用于初始化学生数据
Student(int id, string name, int age) : studentId(id), name(name), age(age) {}
// 数据成员
int studentId;
string name;
int age;
// 成员函数:设置和获取学号
void setStudentId(int id) {
studentId = id;
}
int getStudentId() const {
return studentId;
}
// 成员函数:设置和获取姓名
void setName(string name) {
this->name = name;
}
string getName() const {
return name;
}
// 成员函数:设置和获取年龄
void setAge(int age) {
this->age = age;
}
int getAge() const {
return age;
}
// 析构函数,清理资源(这里只是一个简单示例,实际可能不需要)
~Student() {
cout << "Destructor called for student with ID: " << studentId << endl;
}
// 主动输出信息
void displayInfo() const {
cout << "Student ID: " << studentId << ", Name: " << name << ", Age: " << age << endl;
}
private:
// 防止直接修改数据成员
// 这里仅作演示,实际上可以考虑使用访问控制符如private
// (setters and getters)
};
int main() {
// 创建并初始化一个学生对象
Student student(1001, "Alice", 20);
// 使用成员函数设置数据
student.setStudentId(1002);
student.setName("Bob");
student.setAge(22);
// 输出学生信息
student.displayInfo();
// 获取并输出学号、姓名和年龄
cout << "Student ID: " << student.getStudentId() << ", Name: " << student.getName() << ", Age: " << student.getAge() << endl;
// 析构函数会在对象结束生命周期时自动调用
return 0;
}
```
在这个例子中,我们创建了一个包含学号、姓名和年龄的数据成员的`Student`类,并提供了相应的设置和获取方法。`main`函数展示了如何创建一个学生的实例,并通过成员函数进行操作和输出。
阅读全文