/*功能:三维坐标计算作者:wind日期:2013-11-29*/#include <iostream>#include <string>using namespace std;/************************************************************/class Point{public: Point() { m_iX = 0; m_iY = 0; m_iZ = 0; } void set(double aX,double aY,double aZ); void get()const; Point operator + (Point c1); Point operator - (Point c1); void display(Point c1);private: double m_iX; double m_iY; double m_iZ;};/************************************************************/void Point::set(double aX,double aY,double aZ){ m_iX = aX; m_iY = aY; m_iZ = aZ;
}void Point::get()const{ cout<<"The result is:"<<endl; cout<<"("<<m_iX<<","<<m_iY<<","<<m_iZ<<")"<<endl;}Point Point::operator + (Point c1){ Point c; c.m_iX = m_iX + c1.m_iX; c.m_iY = m_iY + c1.m_iY; c.m_iZ = m_iZ + c1.m_iZ; return c;}Point Point::operator - (Point c1){ Point c; c.m_iX = m_iX - c1.m_iX; c.m_iY = m_iY - c1.m_iY; c.m_iZ = m_iZ - c1.m_iZ; return c;}
void Point::display(Point c1){ string n; Point c; cout<<"Please input the sign(-/+):"; cin>>n; if ("-" == n) { c = operator- (c1); cout<<"The result is:"<<endl; cout<<"("<<c.m_iX<<","<<c.m_iY<<","<<c.m_iZ<<")"<<endl; } else if ("+" == n) { c = operator+ (c1); cout<<"The result is:"<<endl; cout<<"("<<c.m_iX<<","<<c.m_iY<<","<<c.m_iZ<<")"<<endl; } else { cout<<"The operator is error"; }}/************************************************************/int main(void){
Point c1,c2; double x = 0; double y = 0; double z = 0; cout<<"请输入第一个点所在的三维坐标:"; cin>>x>>y>>z; c1.set(x,y,z);
cout<<"请输入第二个点所在的三维坐标:"; cin>>x>>y>>z; c2.set(x,y,z);
c1.display(c2); system("pause"); return 0;}operator重载之三维坐标计算—C++

最后更新于 2022-12-25
部分内容可能已过时,请注意信息时效。
本文采用 CC BY-NC-SA 4.0 许可,转载请注明出处与作者。
支持一下
如果这篇文章对你有帮助,欢迎打赏或分享。
评论