欢迎来到天天文库
浏览记录
ID:49881704
大小:104.00 KB
页数:11页
时间:2020-03-03
《实验11运算符重载与模板 实验思考.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验门运算符重载与模板三、实验思考1.定义一个描述矩阵的类Array,其数据成员为3X3实数矩阵,用Put()成员函数输入矩阵元素值,重载“+”运算符完成两个矩阵的加法。分别用成员函数与友元函数编写运算符重载函数。在主函数屮定义矩阵对彖al、a2、a3,进行矩阵加法a3=al+a2运算,并输出矩阵al、a2、品的全部元素值。#ineludeusingnamespacestd;classArraypublic:Array(intm,intn);//构造函数:用于建立动态数组存放m行n列的二维数组(
2、矩阵)元索,并将该数组元索初始化为Array(constArray&d);"Array(){delete[]Array;}//析构函数:用于释放动态数组所占用的存储空间。friendistream&operator>>(istream&input,Array&d);//重载运算符“>>”输入二维数组,其中d为Dousry类对象;friendostream&operator<<(ostream&output,Array&d);//重载运算符以m行门列矩阵的形式输出二维数组,//其中d为Array类对象。friendA
3、rrayoperator+(constArray&dl,constArray&d2);//两个};Array::Array(intm,intn)intn)矩阵相加,规则:对应位置上的元素相加//Array为动态数组指针。//row为二维数组的行数。//col为二维数组的列数。row=m,col=n;Array二newint[row*col];for(inti二0;i4、=newint[row^col];for(inti=0;i>(istream&i门put,Array&d){cout«〃请输入元素C«d.row«〃行〃«d.col«〃列):z,«endl;for(inti=0;i>d.Array[i];}retuminput;}ostream&()peTdt()T<<(ostream&output,Array&d){for(inti5、=0;i6、(3,3);cout<<〃输入al:"<>al;cout<<"输入<>a2;cout<<二〃;cout<7、;计算出两点间的距离,并显示两点pl、p2的坐标值与两点距离d。用成员函数与友元函数两种方法实现上述要求。方法一:#include#include#includeusingnamespacestd;classpoint{private:doublex,y;//私有成员函数public:point(doublea,doubleb){x=a;y=b;cout<8、oublepoint::operator-(pointp){returnsqrt((this->x~p.x)*(this->x~p.x)+(this->y-p.y)京(this->y-p.y));}frienddoubled(point&a,point&b)//{returnsqrt((a・x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.
4、=newint[row^col];for(inti=0;i>(istream&i门put,Array&d){cout«〃请输入元素C«d.row«〃行〃«d.col«〃列):z,«endl;for(inti=0;i>d.Array[i];}retuminput;}ostream&()peTdt()T<<(ostream&output,Array&d){for(inti
5、=0;i6、(3,3);cout<<〃输入al:"<>al;cout<<"输入<>a2;cout<<二〃;cout<7、;计算出两点间的距离,并显示两点pl、p2的坐标值与两点距离d。用成员函数与友元函数两种方法实现上述要求。方法一:#include#include#includeusingnamespacestd;classpoint{private:doublex,y;//私有成员函数public:point(doublea,doubleb){x=a;y=b;cout<8、oublepoint::operator-(pointp){returnsqrt((this->x~p.x)*(this->x~p.x)+(this->y-p.y)京(this->y-p.y));}frienddoubled(point&a,point&b)//{returnsqrt((a・x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.
6、(3,3);cout<<〃输入al:"<>al;cout<<"输入<>a2;cout<<二〃;cout<7、;计算出两点间的距离,并显示两点pl、p2的坐标值与两点距离d。用成员函数与友元函数两种方法实现上述要求。方法一:#include#include#includeusingnamespacestd;classpoint{private:doublex,y;//私有成员函数public:point(doublea,doubleb){x=a;y=b;cout<8、oublepoint::operator-(pointp){returnsqrt((this->x~p.x)*(this->x~p.x)+(this->y-p.y)京(this->y-p.y));}frienddoubled(point&a,point&b)//{returnsqrt((a・x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.
7、;计算出两点间的距离,并显示两点pl、p2的坐标值与两点距离d。用成员函数与友元函数两种方法实现上述要求。方法一:#include#include#includeusingnamespacestd;classpoint{private:doublex,y;//私有成员函数public:point(doublea,doubleb){x=a;y=b;cout<8、oublepoint::operator-(pointp){returnsqrt((this->x~p.x)*(this->x~p.x)+(this->y-p.y)京(this->y-p.y));}frienddoubled(point&a,point&b)//{returnsqrt((a・x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.
8、oublepoint::operator-(pointp){returnsqrt((this->x~p.x)*(this->x~p.x)+(this->y-p.y)京(this->y-p.y));}frienddoubled(point&a,point&b)//{returnsqrt((a・x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.
此文档下载收益归作者所有