1 / 30
文档名称:

C卄上机实验报告.doc

格式:doc   大小:99KB   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C卄上机实验报告.doc

上传人:sssmppp 2020/12/25 文件大小:99 KB

下载得到文件列表

C卄上机实验报告.doc

文档介绍

文档介绍:C卄上机实验报告
实验名称:实验10实验
专业班级:
姓 名:
学 号: 实验日期:
目录
•实验目的
•实验内容
•程序代码
•调试结果
•实验心得
实验目的
实验10
(1)
进一步了解运算符重载的概念和使用方法;
(2)掌握几种常用的运算符重载的方法;
(4)
(3)了解转换构造函数的使用方法;
了解在Visual C++。
实验11
(1)
了解继承在面向对象程序设计中的重要作用;
(2)进一步理解继承和派生的概念;
(3)掌握通过继承派生出一个新的类的方法;
(4) 了解虚基类的作用和用法。
实验内容
实验10
事先编好程序,上机进行调试和运行程序,分析结果。
(1)声明一个复数类Complex,重载运算符“+”, 心”,
使之能用于复数的加,减,乘,除,运算符重载函数作为Complex
类成员的函数。编程序,分别求两个复数之和,差,积和商。
(2)声明一个复数类Complex,重载运算符“+”,使之能用于
复数的加法运算。参加运算的两个运算量可以都是类对象,也可
以其中有一个是整数,顺序任意。
运行程序,分别求两个复数之和,整数和复数之和,
(3)有两个矩阵a和b,均为2行3列。求两个矩阵之和。重
载运算符“+”,使之能用于两个矩阵相加
(4)声明一个Teacher (教师)类和一个Student (学生)类,
二者有一部分数据成员是相同的,例如num (号码),name (名
字),
sex (性别)。编写程序,将一个Student对象(学生)转换
为Teacher (教师)类,只将以上三个相同的数据成员移植过去。
可以设想为:一位学生大学毕业了,留校担任教师,他原有的部
分数据对现在的教师身份来说任然是有用的,应当保留并成为其
教师的数据的一部分。
实验11
事先编写好程序,上机调试和运行程序,分析结果。
(1)
的、正确的程序,用公用继承方式。在程序中应当包括输入数据
的函数,在程序运行时输入num, name, sex, age, addr的值,
程序应输出以上5个数据的值。
(2)、补充,写成一个完整、
正确的程序,用保护继承方式。在程序中应包括输入数据的函数。
(3)修改上面第(2)题的程序,改为用公用继承方式。上机调
试程序,使之能够正确运行并得到正确的结果。
对这两种继承方式做比较分析,考虑在什么情况下二者不能互相 替换。
(4)分别声明Teacher (教师)类和Cadre (干部)类,采用多
重继承方式由这两个类派生出新类Teacher-Cadre(教师兼干部)。
要求:
1・在两个基类中都包含姓名、年龄、性别、地址、电话等数据成
员。
II •在Teacher类中还包含数据成员title (职称),在Cadre类中还 包含数据成员post (职务)。在Teacher-Cadre类中还包含数据成 员wages (工资
HL在基类中的姓名、年龄、性别、地址、电话等数据成员用相同 的名字,在引用这些数据成员时,指定作用域。
,在类外定义成员函数。
VI•在派生类Teacher-Cadre的成员函数show中调用Teacher类中 的display函数,输出性命、年龄、性别、职称、地址、电话,然 后再用cout语句输出职务与工资。
程序代码
实验10
(1)
#include<iostream> using namespace std;
class Complex
{public:
Complex(){real=0;imag=0;}
Complex operator +(Complex &c2);
Complex operator -(Complex &c2);
Complex operator*(Complex &c2);
Complex operator/(Complex & c2);
void display!);
private:
double real;
double imag;
};
Complex Complex::operator +(Complex &c2) {Complex c;
=real+;
=imag+;
return c;
}
Complex Complex::operator -(Complex &c2) {Complex c;
=real-