首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大神帮小弟我看上,小弟我写的类的操作符错在哪了

2012-12-30 
大神帮我看下,我写的类的操作符错在哪了?编译的时候提示错误#includeiostreamusing namespace stdnames

大神帮我看下,我写的类的操作符错在哪了?
编译的时候提示错误
#include<iostream>
using namespace std;

namespace Liyichao
{
     class Point3D
     {
     public:
            Point3D();
            Point3D(int x1,int y1,int z1);
            int getx()  {return x;}
            int gety()  {return y;}
            int getz()  {return z;}
            Point3D operator +(Point3D &x);
            Point3D operator -(Point3D &x);
            void operator =(Point3D &x);
            bool operator ==(Point3D &x);
            void look();
     private:
             int x;
             int y;
             int z;
     };
}

namespace Liyichao
{
    Point3D::Point3D()
    {
          x = 0;
          y = 0;
          z = 0;
    }
    
    Point3D::Point3D(int x1,int y1,int z1)
    {
         x = x1;
         y = y1;
         z = z1;
    }
    
    Point3D Point3D::operator +(Point3D &you)
    {
          return Point3D(x + you.getx(),y + you.gety(),z + you.getz());
    }
    
    Point3D Point3D::operator -(Point3D &you)
    {
         return Point3D(x - you.getx(),y - you.gety(),z - you.getz());
    }
    
    void Point3D::operator =(Point3D &you)
    {
         x = you.getx();
         y = you.gety();
         z = you.getz();
    }
    
    bool Point3D::operator ==(Point3D &you)
    {
         return (x == you.getx() && y == you.gety() && z == you.getz());


    }
    
    void Point3D::look()
    {
         cout<<"("<<getx()<<","<<gety()<<","<<getz()<<")\n";
    } 
}

using namespace Liyichao;

main()
{
      cout<<"初始化x点的坐标为(1,2,3),y的坐标为(3,4,5),z的坐标为(1,1,1)\n";
      Point3D x(1,2,3),y(3,4,5),z(1,1,1);
      if(x == y)
           cout<<"x == y\n";
      else 
           cout<<"x != y\n";
      cout<<"把y的坐标复制给x\n";
      x = y;
      cout<<"此时x的坐标为:";
      x.look();
      cout<<"x+z后的结果为";
      x = x + z;//好像是加号操作符定义的有问题,但有不知道哪错了
      x.look();
      getchar();
}
[解决办法]
参数加const

热点排行