实验九 运算符重载1.doc_第1页
实验九 运算符重载1.doc_第2页
实验九 运算符重载1.doc_第3页
实验九 运算符重载1.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验九 运算符重载(一)1、 实验目的理解运算符重载的概念和实质,掌握运算符重载函数的定义方法,掌握将运算符重载为类的成员函数和友元函数的方法,掌握和运用几种常用的用C+语言运算符的重载进行解决问题的方法。2、 实验内容(1) 编写程序,运用运算符重载实现点类Point的两个对象(即两点)间横、纵坐标的相加运算。/ 1234.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include using namespace std;class point public: point()x=0;y=0; point(int x1,int y1)x=x1;y=y1; point operator + (point &p2); void display(); private: int x; int y; ;point point :operator + (point &p2)point p;p.x=x+p2.x; p.y=y+p2.y;return p; void point:display()cout(x,y)endl;int main()point p1(3,4),p2(5,-10),p3; p3=p1+p2; coutp1=;p1.display(); coutp2=;p2.display(); coutp1+p2=;p3.display(); return 0;(2) 设计一个复数类Complex,重载运算符“*”,“/”,使之能用于复数的乘除。运算符重载函数作为Complex类的成员函数。/ 1234.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include using namespace std;class Complex public: Complex()real=0;imag=0; Complex(double r,double i)real=r;imag=i; Complex operator*(Complex &c2); Complex operator/(Complex &c2); void display(); private: double real; double imag; ;Complex Complex:operator*(Complex &c2)Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c;Complex Complex:operator/(Complex &c2)Complex c; c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c;void Complex:display()cout(real,imagi)endl;int main()Complex c1(8,10),c2(9,-18),c3; c3=c1*c2; coutc1*c2=; c3.display(); c3=c1/c2; coutc1/c2=; c3.display(); return 0;(3) 设计一个长方形类Triangle,包含长和宽两个私有数据成员。要求重载运算符“+”,以实现多个矩形对象的面积之和。/ 1234.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include using namespace std;/(3) 设计一个长方形类Triangle,包含长和宽两个私有数据成员。要求重载运算符“+”,以实现多个矩形对象的面积之和。class rectangleprivate :int a,b;protected :int area;public:rectangle ()a=0,b=0,area=0;rectangle (int ra,int rb)a=ra;b=rb;area=ra*rb;rectangle operator+(rectangle &r2);void display();rectangle rectangle: operator+(rectangle &r2)rectangle r;r.area=area+r2.area ;return r;void rectangle :display()co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论