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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перегрузка операторов, Не комилится 
V
    Опции темы
Treod
Дата 25.12.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пытаюсь перегрузить операторы, прога простенькая, но не компилится. Никак не могу понять в чем проблема. Ниже приведен листинг программы.

Код

class cmp
{
    double re, im;
public:
    cmp(){
        re=0; 
        im=0;
    }
    cmp(double rr){
        re=rr; 
        im=0;
    }
    cmp(double rr, double ii){
        re=rr;
        im=ii;
    }
    // Конструктор копирования
    cmp(cmp& c){
        re=c.re;
        im=c.im;
    }
    cmp& operator = (const cmp& c){
        re=c.re;
        im=c.im;
        return *this;
    }
    cmp& operator + (const cmp& c){
        cmp t;
        t.re=re+c.re;
        t.im=im+c.im;
        return t;
    }
    cmp& operator - (const cmp& c){
        cmp t;
        t.re=re-c.re;
        t.im=im-c.im;
        return t;
    }
    friend istream& operator >> (istream& in, cmp& c){
        in >> c.re >> c.im;
        return in;
    }
    friend ostream& operator << (ostream& out, cmp& c){
        out << "(" << c.re << ";" << c.im << ")";
        return out;
    }
};

PM MAIL ICQ   Вверх
Fazil6
Дата 25.12.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Treod @  25.12.2007,  21:49 Найти цитируемый пост)
Пытаюсь перегрузить операторы, прога простенькая, но не компилится. Никак не могу понять в чем проблема. Ниже приведен листинг программы.

да уж... Ошибок много

Код

using namespace std;

class cmp;

istream& operator >> (istream& in, cmp& c);
ostream& operator << (ostream& out, cmp& c);


class cmp
{
    double re, im;
public:
    cmp(){
        re=0; 
        im=0;
    }
    cmp(double rr){
        re=rr; 
        im=0;
    }
    cmp(double rr, double ii){
        re=rr;
        im=ii;
    }
    // Конструктор копирования
    cmp(const cmp& c){
        re=c.re;
        im=c.im;
    }
    cmp& operator = (const cmp& c){
        re=c.re;
        im=c.im;
        return *this;
    }
    cmp operator + (const cmp& c){
        cmp t;
        t.re=re+c.re;
        t.im=im+c.im;
        return t;
    }
    cmp operator - (const cmp& c){
        cmp t;
        t.re=re-c.re;
        t.im=im-c.im;
        return t;
    }
    
    friend istream& operator >> (istream& in, cmp& c);
    friend ostream& operator << (ostream& out, cmp& c);
};


istream& operator >> (istream& in, cmp& c){
        in >> c.re >> c.im;
        return in;
    }
ostream& operator << (ostream& out, cmp& c){
        out << "(" << c.re << ";" << c.im << ")";
        return out;
    }


int main(int argc, char *argv[])
{
    system("PAUSE");
    return EXIT_SUCCESS;
}



PM MAIL   Вверх
bsa
Дата 26.12.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Treod, имхо, в данном случае конструктор копирования лучше оставить дефолтный.
PM   Вверх
Treod
Дата 26.12.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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




Спасибо за помощь. Прога пошла... Тему можно закрывать;)
PM MAIL ICQ   Вверх
nickless
Дата 26.12.2007, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

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



Цитата(Treod @  26.12.2007,  12:07 Найти цитируемый пост)
Тему можно закрывать;) 

Поставь галочку (сверху справа) smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
JackYF
Дата 26.12.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(Treod @  26.12.2007,  14:07 Найти цитируемый пост)
Тему можно закрывать;) 

Так закрывай, специальная галочка для этого есть smile


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

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

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

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

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


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

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


 




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


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

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