На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Мини-вопрос
    Начал тут изучать С++, и сталкнулся с таким вопросом.
    Значит есть файл uh.cpp:
    Цитата
    class point{
    public:
    float x,y,z;

    point () {x=y=z=0;};
    point (float X) {x=X;y=z=0;};
    point (float X,float Y) {x=X;y=Y;z=0;};
    point (float X,float Y,float Z) {x=X;y=Y;z=Z;};

    void operator += (point a) {x+=a.x;y+=a.y;z+=a.z;};
    point operator + (point a) {return point(x+a.x,y+a.y,z+a.z);};
    void operator -= (point a) {x-=a.x;y-=a.y;z-=a.z;};
    point operator - (point a) {return point(x-a.x,y-a.y,z-a.z);};
    point operator * (float a) {return point(x*a,y*a,z*a);};
    void operator *= (float a) {x*=a;y*=a;z*=a;};
    };
    Есль моя программа, а вот, что надо написать в uh.h что бы я смог использовать класс point, никак не пойму.
    Вроде, там должно быть что-то вроде этого:
    Цитата
    class point{
    public:
    float x,y,z;

    point (void);
    point (float X);
    point (float X,float Y);
    point (float X,float Y,float Z);

    void operator += (point a);
    point operator + (point a);
    void operator -= (point a);
    point operator - (point a);
    point operator * (float a);
    void operator *= (float a);
    };
    То есть одни заголовки, без реализации. Но это не работает, получаю ошибку "unresolved external symbol".
    Что делать?

    Заранее спасибо за ответ.
      в .h файле обьаявление класса, членов класса и методом класса.
      в cpp - реализация методовs класса
      uh.h
      class point{
      public:
      float x,y,z;

      point (void);
      point (float X);
      point (float X,float Y);
      point (float X,float Y,float Z);

      void operator += (point a);
      point operator + (point a);
      void operator -= (point a);
      point operator - (point a);
      point operator * (float a);
      void operator *= (float a);
      };

      uh.cpp

      point::point(){}
      point::point(float X)
      {
      //bla-bla
      }

      ...
      void point::operator+=(point a)
      {
      //кстати, этот оператор должен возвращать таки point а не void
      }
      ...
      Сообщение отредактировано: Demo_S -
        Спасибо, все понятно.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0807 ]   [ 16 queries used ]   [ Generated: 27.04.24, 09:06 GMT ]