面 向 对 象 程 序 设 计 大 作 业
姓名:叶尔凯西
学院(系):计科系 班级:计科系07-1班 学号:027
1
设计本程序的目的:
关于一些并不太复杂的集体来说,一般需要管理集体中的每个人的基本信息的,本程序专门为一些在校学生的基本信息的管理而设计的,主要目的是通过本程序来实现简单的记录和查找学生的基本信息;
程序功能简介:
本程序是通过面向对象的最重要的特点“类”来设计出来的,其功能是实现简单的学生基本信息管理。包括一些要求用户从键盘输入(记录)学生的基本信息、输出学生的基本信息和用学生的学号来查找学生信息表中的某个学生的基本信息等功能;
程序功能的详细介绍:
本人设计程序时考虑到的很所内容,其中输入输出学生的基本信息是最基本的功能。下面来给大家介绍程序的核心类的构建:
① 在程序中共建立了两种类,分别是person类和student类。person作为student
类的基类,其内部是如下设计的: class person {
public: void SetPersonAddress(char *AddressFromMain); void SetPersonSex(char *SexFromMain); void ShowPersonSex(); void ShowPersonAddress(); private: char Address[25]; char Sex[2]; };
可以看到,在上面分别声明了四个成员函数和两个数据成员。四个成员函数的作用是对私有数据成员进行访问(包括输入和输出)。所以当建立了一个person类之后就可以通过它的对象来访问该类的数据成员。
下面分别说明每一个成员函数的具体定义: (1) 设置(输入)人地址的成员函数:
void person::SetPersonAddress(char *AddressFromMain)
{
strcpy(Address,AddressFromMain);
}
通过strcpy把字符指针的内容送入person类中的数据成员Address。
(2) 设置(输入)人性别的成员函数:
void person::SetPersonSex(char *SexFromMain)
{
strcpy(Sex,SexFromMain); }
2
通过strcpy把字符指针SexFromMain的内容作为地址的存储单元中的内容送入person类中Sex数据成员。 (3) 输出地址成员函数:
void person::ShowPersonAddress() {
cout<
输出person类中的Address数据成员的内容; (4) 输出性别的成员函数: void person::ShowPersonSex() {
cout< 输出person类中的Sex数据成员的内容; ②接下来就是person基类的派生类student类的内部设计如下: class student: public person { public: void SetStudentInformation(char*NameFromMain,char *StudentAddressFromMain,char *StudentSexFromMain,char *StudentNumberFromMain, int *score); void ShowStudentInformation(); friend void FindStudentNumber(student *data); friend void FindStudentName(student *data); private: int MathResult,EnglishResult,CResult,CompilationLanguageResult,DigitalLogicResult,MarksismResult; char StudentNumber[25]; char Name[25]; float Average; int total; }; 当设计student派生类的时候,最主要的特点就是利用了“类”的一个特点继承。 所以说派生出来的student类也具有基类person的一些特点。在继承的方式上本人使用了共有继承方式(public),下面来给大家介绍student类的内部构造: ① 成员函数共有设置(输入)学生信息、输出学生信息等两个。还有一个非成员函数的 一个函数,它为该student类的友元函数,其功能是实现查找。 除此之外还有从基类person类继承下来的一些成员函数; ② 数据成员分别为整形变量的学生成绩(包括数学成绩、英语成绩、C++成绩、汇编 语言成绩、数字逻辑成绩、马克思哲学成绩等),字符数组的学生学号和学生姓名以及整型变量的学生的总分和单精度变量的平均分; 3