1、设计一个Student(学生)类。* 数据成员(私有):变量名 含义 类型 no 学号 string's name 姓名string* gender 性别 string birthday出生日期string+ grade 年级 string academy院系 string major专业string函数成员(公有):* 构造函数:Student(形参列表),带有7个默认参数的形参。。 显示对象信息函数:show(),功能为按一定格式显示当前对象的具体信息。。修改院系信息函数:setinfoacademy(形参)功能为修改当前对象的院系信息。.修改专业信息函数:setinfo major(形参)功能为修改当前对象的专业信息。*主函数 1:使用对象数组stu来保存学生对象。先设置一个初始值,具体的值见下面的输出结果。 2显示这个对象数组的内容。"3修改stu[0]的专业信息。。 4显示修改后的stu[0]的信息。"
时间: 2024-02-27 18:55:54 浏览: 65
C++面向对象程序设计编程题.pdf
好的,这是一个稍微复杂一些的问题,需要设计一个类,并且在主函数中使用这个类进行一些操作。以下是这个类的定义以及主函数的实现:
```python
class Student:
def __init__(self, no='', name='', gender='', birthday='', grade='', academy='', major=''):
self.__no = no
self.__name = name
self.__gender = gender
self.__birthday = birthday
self.__grade = grade
self.__academy = academy
self.__major = major
def show(self):
print("No:{}\nName:{}\nGender:{}\nBirthday:{}\nGrade:{}\nAcademy:{}\nMajor:{}\n".format(
self.__no, self.__name, self.__gender, self.__birthday, self.__grade, self.__academy, self.__major))
def setinfoacademy(self, academy):
self.__academy = academy
def setinfomajor(self, major):
self.__major = major
if __name__ == '__main__':
# 初始化学生对象数组
stu = [Student('001', '张三', '男', '1999-01-01', '大一', '计算机学院', '计算机科学与技术'),
Student('002', '李四', '女', '1999-02-02', '大一', '电子信息学院', '电子科学与技术'),
Student('003', '王五', '男', '1999-03-03', '大一', '自动化学院', '自动化')]
# 显示学生对象数组的内容
for s in stu:
s.show()
# 修改学生对象的院系信息和专业信息
stu[0].setinfoacademy('软件学院')
stu[0].setinfomajor('软件工程')
# 显示修改后的学生对象
stu[0].show()
```
在主函数中,我们首先定义了一个学生对象数组 `stu`,其中包含三个学生对象。然后,我们使用循环遍历这个数组,并调用每个学生对象的 `show()` 方法来显示学生的具体信息。
接着,我们修改了 `stu[0]` 的院系信息和专业信息,然后再次调用它的 `show()` 方法来显示修改后的信息。注意,我们使用了 `setinfoacademy()` 和 `setinfomajor()` 两个方法来修改院系和专业信息,这是因为这些数据成员都是私有的,无法直接在类的外部访问。
阅读全文