文档介绍:本文格式为Word版,下载可任意编辑
— 2 —
运算符重载实验报告
实
验
报
告
课程名称
程序设计语言 C/C++
测验工程
运算符 COMPLEX c1(1, 2);
// 定义一个值为 1 + 2i 的复数 c1
COMPLEX c2(2);
本文格式为Word版,下载可任意编辑
— 5 —
// 定义一个值为 2 的复数 c2
COMPLEX c3(c1);
// 用 COMPLEX(const COMPLEX other)创造一个值同 c1 的新复数
();
// 打印 c3 原来的值
c1=c1+c2+c3;
// 将 c1 加上 c2 再加上 c3 赋值给 c1
c2=-c3;
// c2 等于 c3 求负
c3=c2-c1;
// c3 等于 c2 减去 c1
();
// 再打印运算后 c3 的值
coutsizeof(c1)endl;
return 0;
} 2. 上机分析下面程序,给出输出结果。
要求:
(1)给出测验结果;
(2)掌管友元运算符重载的根本方法:通过重载 cout 语句,可使用 cout 输 出对象的数据成员值的方法。
# class T {
本文格式为Word版,下载可任意编辑
— 6 —
int x,y;
public:
T(int a,int b)
{x=a;y=b;}
friend ostream operator(ostream os, T a); };
ostream operator(ostream os,T a) { osx=
y=;
return os; }
void main() {
T a(1,2);
coutaendl; }
3、上机分析下面程序,掌管抽象类、纯虚函数以及动态绑定的定义和使用。
要求:
(1)给出测验结果;
(2)掌管抽象类、纯虚函数以及动态绑定的方法。
// 文件 定义抽象基类 Shape
#ifndef SHAPE_H #define SHAPE_H class Shape {
public:
virtual double Area() const
{
return ;
本文格式为Word版,下载可任意编辑
— 7 —
}
// 纯虚函数,在派生类中重载
virtual void PrintShapeName() const = 0;
virtual void Print() const = 0; }; #endif
// 文件 定义类 Point #ifndef POINT_H #define POINT_H #include iostream using namespace std; class Point : public Shape {
int x, y;
//点的 x 和 y 坐标
public:
Point( int = 0, int = 0 );
// 构造函数
void SetPoint( int a, int b );
// 设置坐标
int GetX() const // 取 x 坐标
{
return x;
}
int GetY() const // 取 y 坐标
{
return y;
}
本文格式为Word版,下载可任意编辑
— 8 —
virtual void PrintShapeName() const
{
cout Point: ;
}
virtual void Print() const; //输出点的坐标 }; #endif
// 文