Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка оператора = 
:(
    Опции темы
Jugger
Дата 24.11.2011, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 30.1.2008

Репутация: нет
Всего: нет



Есть код

Код

#include "stdafx.h"
#include "iostream"
#include "math.h"

using namespace std;

class coord{
public:
    coord();
    coord(int,int);
    //~coord();
    int Q();
    int W();
    float dlina();
    friend coord operator-( coord&,int);
    friend coord operator-( coord&, coord&);
    friend coord operator+( coord&, coord&);
    friend coord operator+( coord&,int);
    coord& operator=(coord&);
    bool operator==(  coord&);
    bool operator!=(  coord&);
    bool operator>(  coord&);
    bool operator<(  coord&);

private:
    int q,w;
};
coord::coord(){
    q=0;
    w=0;
}
coord::coord(int a,int b){
    q=a;
    w=b;
}

int coord::Q(){
        return q;
    }
int coord::W(){
        return w;
    }
float coord::dlina(){
    return sqrt((float)(q*w));
}
coord operator-( coord& i, coord& j){
         return  coord(i.Q()-j.Q(),i.W()-j.W());
    }
coord operator+( coord& i, coord& j){
        return coord(i.Q()+j.Q(),i.W()+j.W());
    }
coord operator-( coord& i,int j){
    return coord(i.Q()-j,i.W()-j);
};
coord operator+( coord& i,int j){
    return coord(i.Q()+j,i.W()+j);
};
bool coord::operator==( coord& b){
    if(q==b.q&&w==b.w) return 1;
    else return 0;
}
bool coord::operator!=( coord& b){
    if(q==b.q&&w==b.w) return 0;
    else return 1;
}
bool coord::operator>(  coord& b){
    if(dlina()>b.dlina()) return 1;
    else return 0;
}
bool coord::operator<( coord& b){
    if(dlina()<b.dlina()) return 1;
    else return 0;
}
coord& coord::operator=(coord& a){
    
    q=a.q;
    w=a.w;
    return *this;
}
int main()
{
    coord e(8,9999);
    coord i(7,11);
    coord y();
    y=e+i;
    cout << y.Q()<<y.W();
    return 0;
}


дает ошибку

Код

 error C2659: '=' : function as left operand


в том месте где я пытаюсь в мэйне использовать =
как будто у должен стоять справа от =
что здесь не так реализовано ?


PM MAIL   Вверх
Artemon
Дата 24.11.2011, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Для начала вот это: coord y(); замените на coord y;


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0606 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.