上机内容

C++与面向对象程序设计

星期一1,2节金花6-403

星期三1,2节金花6-202

上机内容

一、基本类设计

1、任务:

设计一个学生类,包括学生如下信息:学号、姓名、性别、年龄(或:出生日期、英语成绩、数据成绩、学生简历)。

2、要求:

1)提供相关成员函数实现学生信息的输入与输出。给出类说明并实现相关成员函数

2)编写一个程序用于输入学生的相关信息,送入的学生存放在一个学生数组中,然后将其存放到文件中

3)编写一个程序读取文件中的学生,将其存放到一个学生数组中。

二、完善基本类

1、通过拷贝构造函数完善基本类设计

2、设计一个字符串类

三、类的继承

继承基本类、设计一个自动化专业学生类和电子信息专业学生类。自动化专业学生应包括自动控制原理课程成绩、电子信息专业学生应包括信号与系统课程成绩。另外添加一个专业编号及专业名称。

重新设计相关成员函数,实现学生信息的输入与输出。

四、运算符重载

设计并实现一个复数类。

五、多态性的应用

设计实现一个函数,可以利用多态性完成各专业学生信息的输入与输出。

备注:

报告要求:

1、给出类说明

2、说明各数据成员及成员函数的功能。

3、实现的基本思想(不需要详细代码)。

第五次上机内容:总结

上机前用需要两个小时的准备工作。

一、在C++中并没有提供字符串数据类型,因此我们设计一个字符串类CString。字符串类CString结构如下:各数据成员和成员函数的意义及功能有注释说明。class CString

{

protected:

int Len; //字符串长度

char *Str; //指向字符串内容的指针(字符串起始地址)

public:

CString(); //第一构造函数

CString(char *s); //第二构造函数

CString(CString &s);//拷贝构造函数

~CString(); //析构函数

//其它接口

char * GetStr(); //返回字符串起始地址

int GetLen(); / /返回字符串长度

void Show(); //在屏幕上显示字符串

void SetStr(char * s); //设置字符串内容。

//用s指向的字符串内容替换Str指向的字符串内容。};

请实现该类的各成员函数。

二、CString字符串不够完善不能完成字符相加,通过继承CString设计一个CNewString类完善其功能,使其可以进行极富川相加。

一个类应提供尽量多的构造函数以便允许用户可以用各种方式创建对象。假定CNewString不再提供额外的构造函数,也就是说,CNewString有两个构造函数:CNewString (); //第一个构造函数

CNewString (char *s) ; //第二个构造函数

请给出CNewString结构(.H文件的内容)及其实现(.CPP文件的内容)。

注:

通过对+运算符的重载,可以允许两个CNewString字符串对象相加。当然,字符串相加不满足交换律。

三、在设计学生管理系统的时候,利用面向对象的方法设计了相应的学生类。图中说明的是各类的继承关系。CComStu封装了所有学生的公共特性,CEStu封装了电类学生的公共特性,CMStu封装了机械类学生的公共特性,CAStu封装了自动化专业学生的公共特性,CCStu封装了计算机专业学生的公共特性,

上机内容

每个类都有相应的Show公共成员函数,用以显示相应的学生信息。根据以上信息完成下列各题。(共20分)

1、为了实现多态性,CComStu类中Show应说明成什么函数?写出函数原型。

为了验证多态性,尽量简单地实现上述各类。

2、运行下面的程序,验证多态性。

void main(void)

{

CEStu x1;

CMStu x2;

CAStu x3;

CComStu *p;

p=&x1;

p->Show(); //调用哪个类中的Show函数?

CComStu y1;

y1=x2;

y1.Show(); //调用哪个类中的Show函数?

CComStu &y2=x3;

y2.Show(); //调用哪个类中的Show函数?

}

相关推荐
相关主题
热门推荐