C++编程:实验004 - 师徒关系实现

需积分: 0 0 下载量 176 浏览量 更新于2024-08-04 收藏 256KB DOCX 举报
"project_4 师徒关系1 - 西南大学计算机与信息科学学院的C++实验,涉及面向对象编程中的类和继承概念,实现师徒和门派关系的模拟。" 在这个C++实验中,我们关注的是面向对象编程(OOP)的核心概念,特别是类的定义、继承以及数据成员和成员函数的使用。实验围绕着“师徒关系”这一主题,通过创建两个类——`MenPai`(门派)和`ShiFu`(师傅),来模拟武侠世界中的师徒系统。 首先,`MenPai`类是作为基类,用于表示不同的门派。它包含两个私有成员变量:`string Men_Pai`存储门派名称,`vector<string> MenPai_Gongfu`用来存储门派的各种功夫。此外,还有一个公有成员变量`int num_MenPai_Gongfu`用于记录门派拥有的功夫数量。类提供了构造函数、设置门派名字和门派功夫的方法,以及获取门派信息的接口。 接着,`ShiFu`类是`MenPai`类的子类,实现了继承。这表明师傅(ShiFu)是门派(MenPai)的一个特例,具有门派的所有属性和能力,同时还有自己的额外属性,如`string Name_ShiFu`表示师傅的名字,以及`vector<string> ShiFu_Gongfu`表示师傅所擅长的特定武功。子类的定义扩展了基类的功能,使得可以处理更具体的信息,比如师傅的个人信息和专长武功。 实验中的代码展示了一个简单的OOP设计,包括类的实例化、成员函数的调用,以及如何通过公共接口访问和修改私有成员变量。通过这个实验,学生能够巩固对C++类和对象的理解,学习如何利用继承来建立类之间的层次结构,以及如何通过封装来保护数据和实现数据抽象。 实验还涉及到了动态内存管理,例如在`MenPai`类中使用`vector`来动态存储门派的功夫。每次调用`set_MenPai_Gongfu`方法时,都会为新的功夫开辟内存空间,这样可以灵活地添加任意数量的功夫,而不需要预先确定门派功夫的数量。 这个实验旨在帮助学生掌握C++中的面向对象编程技巧,以及如何使用类和继承来建模现实世界的关系。通过实践,学生可以更好地理解类的设计、继承的概念以及数据结构如`vector`在实际编程中的应用。
2021-03-06 上传