实 验 报 告
实验名称 |
运算符的重载 |
指导教师 |
|
||
实验类型 (软件、硬件) |
软件 |
实验学时 |
2学时 |
实验时间 |
2019.4.11 |
1.掌握运算符重载为类的友元函数; 2.掌握双目运算符的重载; 3.掌握单目运算符的重载;
|
|||||
二、实验环境(实验设备) 软件:windows7,Visual C++ 6.0 硬件:微型计算机
|
|||||
三、实验内容及原理(包括硬件原理图、算法、逻辑框图,关键代码等,可续页) (一)程序一:运算符重载为类的友元函数
1.程序功能:
将运算符“+”重载为适用于复数加法,重载函数不作为成员函数,而放在类外,作为Complex类的友元函数。
2.程序代码:
#include<iostream.h> class Complex{
public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} friend Complex operator +(Complex &c1,Complex &c2); void display(); private: double real; double imag;
}; Complex operator +(Complex &c1,Complex &c2){
return Complex(c1.real+c2.real,c1.imag+c2.imag); } void Complex::display(){ cout<<"("<<real<<","<<imag<<"i)"<<endl; } int main(){ Complex c1(3,4),c2(5,-10),c3; c3=c1+c2; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); cout<<"c1+c2="; c3.display(); return 0; }
3.程序运行结果:
|
|||||
实 验 报 告
(二)程序二:双目运算符的重载
1.程序功能: |