c++ 运算符重载

aifengtouxinxin 2010-05-21 10:25:23
求用成员函数和友元函数重载++(前置后置)关于 类money,数据成员 元 角 分 ,实现人民币对象的加1,在主函数中对象m1=10元8角5分,对m1做前置“++”并赋给m2,对m1做后置“++”并赋给m3。


坐标(x,y)的类point ,做“-”的运算符重载,在主函数中用point类定义对象p1(1,1),p2(4,5) 在定义一个实数d用于存放两点间的距离,用表达式d=p1-p2,计算两点间的距离,并显示p1,p2的坐标值与两点间的距离,用成员函数和友元函数实现
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aifengtouxinxin 2010-05-22
  • 打赏
  • 举报
回复
上面的程序还是没有满足题目的要求啊,输出来的结果也不对啊
拜托高手的大哥大姐帮个忙啊
爱在深秋 2010-05-22
  • 打赏
  • 举报
回复
参数的类型也要匹配
爱在深秋 2010-05-22
  • 打赏
  • 举报
回复
注意用成员和友员的差别!!
成员函数的参数是一个!!友员的是两个!!!
爱在深秋 2010-05-22
  • 打赏
  • 举报
回复
距离公式!!
#include “cmath”
d=sprt((x2-x1)*(x2—x1)+(y2-y1)*(y2—y1))
dinjay 2010-05-22
  • 打赏
  • 举报
回复
两点距离公式我没记错的话是AB=√((x1-x2)^2+(y1-y2)^2)
dinjay 2010-05-22
  • 打赏
  • 举报
回复
距离的话应该是这样吧
int operator-(point& p)
{

int len=0;
len = sqrt((double)(x*x-p->x*p->x)*(x*x-p->x*p->x)+(double)(y*y-p->y*p->y)*(y*y-p->y*p->y));
return len;
}
上善若水邻 2010-05-21
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

class point
{
public:
point(int x,int y){this->x = x;this->y = y;}
point& operator-(point& p)
{
this->x =this->x - p.x ;
this->y =this->y - p.y;
return *this;
}
int getx()const{return x;}
int gety()const{return y;}
private:
int x;
int y;

};

int main()
{
point a(5,6);
point b(3,2);
point c=a-b;
cout<<c.getx()<<"\t"<<c.gety()<<endl;
return 0;
}
是不是这样????

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧