实验报告3 继承与多态.docx

上传人:b****5 文档编号:5163378 上传时间:2022-12-13 格式:DOCX 页数:16 大小:36.58KB
下载 相关 举报
实验报告3 继承与多态.docx_第1页
第1页 / 共16页
实验报告3 继承与多态.docx_第2页
第2页 / 共16页
实验报告3 继承与多态.docx_第3页
第3页 / 共16页
实验报告3 继承与多态.docx_第4页
第4页 / 共16页
实验报告3 继承与多态.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验报告3 继承与多态.docx

《实验报告3 继承与多态.docx》由会员分享,可在线阅读,更多相关《实验报告3 继承与多态.docx(16页珍藏版)》请在冰豆网上搜索。

实验报告3 继承与多态.docx

实验报告3继承与多态

计算机课程实验报告

—学年度第一学期

系别:

数学与计算机科学学院

实验课程

面向对象程序设计

班级

级计算机科学与技术

学号

姓名

蔡兴明

指导教师

马学梅

实验题目

继承与多态

(一)

日期

2012-9-29

实验目的

及要求

、理解继承在面向对象程序中的重要作用、继承和派生的概念;

、掌握通过继承派生一个新类的方法;

、理解多态的概念、运算符重载的概念、虚函数的作用;

、学习实现多态,掌握几种常用运算符的重载;;

、掌握虚函数的定义和使用方法;

、简单面向对象程序的编写

实验内容及具体步骤:

内容:

函数重载

()构造函数重载,运行以下程序,

<>

{:

();

();

();

();

();

:

;

};

:

:

(,)

{;;;}

:

:

()

{;;;}

:

:

()

{<<;

(>)<<“”<<<<“”;

(<)<<<<“”;

<<“\”;;

}

()

{;

;

*;

}

()

{;

;

*;

}

()

{

();

();

();

();

();

.();

();

;

}

给出输出结果,分析的用途.在此程序的基础上实现运算符””和”“的重载

是自身的地址,但是*就是自身了.是按值回返了.如果函数的回返值是带有号的,那么回返值就是引用了

构造出五个公共类函数,此函数在运行时没有出现问题,但是我经过仔细阅读理解程序的过程中,主要对这个的用途和用法在网上查阅学习了下,一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用*;另外一种情况是当参数与成员变量名相同时,如>(不能写成)。

()运算符重载:

以下程序要求实现运算符的前置和后置重载,但实际上并没有实现。

试分析原因,并作出修改,以实现此功能。

<>

{;

:

();

();

();

();

};

:

:

(){;;}

:

:

()

{;;;;}

:

:

()

{;;;;}

()

{<<““<<<<;}

()

{

;

();

;

;

();

}

内容:

重载<,>,:

设计字符串类,用来存放不定长的字符串,重载运算符“”,“>”,“<”,用于两个字符串的大于、小于和等于的比较运算。

提示:

()属于双目运算符,在重载双目运算符时,函数中应该有两个参数。

()类成员变量应为字符型指针;

()多个构造函数的定义;

测试数据:

<>

{

:

();

();

();

(*);

>();

<();

();

();

();

:

*;

};

()

{

;

}

()

{

[()];

()

{

();

}

}

(*)

{

[()];

()

{

();

}

}

>()

{

(()>)

;

;

}

<()

{

(()<)

;

;

}

()

{

(())

;

;

}

()

{

();

("")("")("");

<<":

"();

<<":

"();

<<":

"();

(>)

{

<<"大于";

<<;

}

(<)

{

<<"小于";

<<;

}

{

<<"等于";

<<;

}

;

}

此程序首先构造了个函数()();()(*)>()<()();然后定义字符串,再给字符串赋值为空,再分别用<,>重载函数比较运算字符串,最后通过()函数输出结果。

内容.继承

<>

{

:

;

;

:

(,);

();

();

};

(,)

{

>;

>;

}

()

{

;

}

()

{

;

}

:

{

:

;;;

:

(,,);

();

};

(,,):

(,)在此初始化基类

{

;

}

()

{

;

}

()

{

(,,);

<<""<<()<<;

<<""<<()<<;

<<""<<()<<;

}

此程序中父类有两个私有类变量,三个公共类函数,类是类的子类,从而调用子类实现了函数的继承;此程序代码在运行的过程中没有遇到任何的错误;从函数中我更深的了解到继承的概念以及如何使用,继承是存在于面向对象程序设计中的两个类之间的一种关系,是面向对象程序设计方法的一个重要手段,通过继承可以更有效地组织程序结构,明确类间的关系,充分利用已有的类来完成更复杂、更深入的开发。

内容多态

<>

{

:

()

{

;

}

()

{

<<""<<;

}

:

;

};

:

{

:

()

{

<<""<<;

}

};

:

{

()

{

<<""<<;

}

};

{

:

()

{

<<""<<;

}

};

()

{

;

;

;

;

*[]{};

(<)

[]>();

}

.实验结论:

此函数首先构造两个公共类函数,一个私有类变量,然后依依实现函数;此程序代码运行时出现几个问题,经过查询网络,''就是指是输入程序的时候键入的是全角符号的空格,注意切换全半角为半角状态,将该行程序重新键入就可以了。

还有一个小问题就是将中的写成了大写,改过来后就运行成功了;

:

''

:

''

:

''

:

''

:

'':

:

'':

'*''*'

内容、重载加减法

设计类

、成员变量:

、、;

、多个构造函数:

显示函数:

()

、重载运算符,模拟钟表走动,每次走一秒,每秒进一分钟,秒又从开始计算;每分钟进一小时,分钟从开始计算。

提示:

、运算符为单目运算符,运算符重载函数只有一个参数,如果运算符重载函数为成员函数,还可省略此参数;

、有两种使用方式:

前置自增运算符和后置自增运算符,为了区别二者,在自增运算符重载函数中,增加一个型形参,即为后置运算符函数;

测试数据:

、时间:

、时间:

程序代码:

<>

{

:

;

:

(){}

(){

;

;

;

}

(){;}

(){;}

(){;}

();

();

(){

<<<<":

"<<<<":

"<<<<;

}

};

(){

;

;

;

;

;

}

(){

;

(>){

;

}

;

(>){

;

}

;

(>){

;

}

;

}

()

{

;

();

();

();

();

();

;

();

;

();

;

();

;

}

此程序编程时构造了三个私有的整形变量,八个公共类函数,其中()、()、()三个函数只是分别返回,,;()函数就是时针,分针和秒针分别到时开始重新重计时;编此程序时我查阅参考许多程序,因此对函数的重载有了更深的理解,对重载的用法及用途也更加的熟练。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1