创建Student类,里面定义学生姓名、学生年龄、班级等成员变量定义班级类Class里面定义班级名,专业名等。同时定义构造方法,用于初始化成员变量,测试输出学生的信息及班级信息;
时间: 2023-07-10 12:08:57 浏览: 47
以下是Python中的实现:
```python
class Class:
def __init__(self, class_name, major_name):
self.class_name = class_name
self.major_name = major_name
class Student:
def __init__(self, name, age, class_info):
self.name = name
self.age = age
self.class_info = class_info
def display_info(self):
print("姓名:", self.name)
print("年龄:", self.age)
print("班级:", self.class_info.class_name)
print("专业:", self.class_info.major_name)
# 测试
class_info = Class("三年级二班", "计算机科学与技术")
stu = Student("小明", 18, class_info)
stu.display_info()
```
输出结果:
```
姓名: 小明
年龄: 18
班级: 三年级二班
专业: 计算机科学与技术
```
相关问题
用Map帮我实现按照学号,姓名,班级,学院查找学生信息,并帮我定义Student类
好的,以下是一个简单的实现,包含了一个Student类和一个Map容器:
```c++
#include <iostream>
#include <string>
#include <map>
using namespace std;
class Student {
public:
Student(string id, string name, string cls, string dept)
: m_id(id), m_name(name), m_cls(cls), m_dept(dept) {}
string getID() const { return m_id; }
string getName() const { return m_name; }
string getCls() const { return m_cls; }
string getDept() const { return m_dept; }
private:
string m_id;
string m_name;
string m_cls;
string m_dept;
};
int main() {
map<string, Student> students;
// 添加学生信息
students.emplace("001", Student("001", "小明", "1班", "计算机科学与技术学院"));
students.emplace("002", Student("002", "小红", "2班", "计算机科学与技术学院"));
students.emplace("003", Student("003", "小刚", "3班", "物理学院"));
// 按照学号查找
string id = "002";
auto it = students.find(id);
if (it != students.end()) {
cout << "学号为" << id << "的学生信息如下:" << endl;
cout << "姓名:" << it->second.getName() << endl;
cout << "班级:" << it->second.getCls() << endl;
cout << "学院:" << it->second.getDept() << endl;
} else {
cout << "找不到学号为" << id << "的学生信息" << endl;
}
// 按照姓名查找
string name = "小刚";
for (const auto& s : students) {
if (s.second.getName() == name) {
cout << "姓名为" << name << "的学生信息如下:" << endl;
cout << "学号:" << s.second.getID() << endl;
cout << "班级:" << s.second.getCls() << endl;
cout << "学院:" << s.second.getDept() << endl;
break;
}
}
// 按照班级查找
string cls = "2班";
for (const auto& s : students) {
if (s.second.getCls() == cls) {
cout << "班级为" << cls << "的学生信息如下:" << endl;
cout << "学号:" << s.second.getID() << endl;
cout << "姓名:" << s.second.getName() << endl;
cout << "学院:" << s.second.getDept() << endl;
}
}
// 按照学院查找
string dept = "计算机科学与技术学院";
for (const auto& s : students) {
if (s.second.getDept() == dept) {
cout << "学院为" << dept << "的学生信息如下:" << endl;
cout << "学号:" << s.second.getID() << endl;
cout << "姓名:" << s.second.getName() << endl;
cout << "班级:" << s.second.getCls() << endl;
}
}
return 0;
}
```
以上代码通过Map容器存储了多个学生对象,并实现了按照学号、姓名、班级、学院查找学生信息的功能。在Student类中,我们定义了四个私有成员变量分别表示学生的学号、姓名、班级和学院。同时,提供了四个公有成员函数用于获取这些私有成员变量的值。在主函数中,我们通过调用Map容器的find函数实现了按照学号查找学生信息,而按照姓名、班级、学院查找学生信息则是通过遍历Map容器实现的。
定义一个变量储存学生学号姓名等 并输出
好的,我可以通过以下方式定义一个记录学生学号、姓名等信息的变量,并输出它们的值:
```python
# 定义变量
student_info = {
"id": "20190101",
"name": "张三",
"gender": "男",
"age": 20,
"major": "计算机科学与技术",
"class": "1901班"
}
# 输出变量值
print("学号:", student_info["id"])
print("姓名:", student_info["name"])
print("性别:", student_info["gender"])
print("年龄:", student_info["age"])
print("专业:", student_info["major"])
print("班级:", student_info["class"])
```
输出结果为:
```
学号: 20190101
姓名: 张三
性别: 男
年龄: 20
专业: 计算机科学与技术
班级: 1901班
```