定义一个学生类student,要求里面有学号,姓名,成员函数,析构函数,拷贝构造函数
时间: 2023-07-15 10:14:53 浏览: 50
以下是一个简单的学生类 `Student` 的定义,包含学号、姓名、构造函数、析构函数、拷贝构造函数等成员函数:
```c++
#include <iostream>
#include <string>
class Student {
public:
// 构造函数
Student(int id, std::string name) : id_(id), name_(name) {
std::cout << "Constructing Student " << id_ << " " << name_ << std::endl;
}
// 拷贝构造函数
Student(const Student& other) : id_(other.id_), name_(other.name_) {
std::cout << "Copying Student " << id_ << " " << name_ << std::endl;
}
// 析构函数
~Student() {
std::cout << "Destructing Student " << id_ << " " << name_ << std::endl;
}
// 成员函数
void printInfo() {
std::cout << "Student " << id_ << " " << name_ << std::endl;
}
private:
int id_;
std::string name_;
};
```
在构造函数中,我们设置了学号和姓名;在拷贝构造函数中,我们复制了学号和姓名;在析构函数中,我们对学生对象进行了删除操作。
下面是一个使用 `Student` 类的示例:
```c++
int main() {
// 创建和初始化一个学生对象
Student s1(123, "Tom");
s1.printInfo();
// 拷贝构造函数的使用
Student s2(s1);
s2.printInfo();
return 0;
}
```
输出结果为:
```
Constructing Student 123 Tom
Student 123 Tom
Copying Student 123 Tom
Student 123 Tom
Destructing Student 123 Tom
Destructing Student 123 Tom
```