Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2012, 10:54   #1
Игорь_С
Пользователь
 
Аватар для Игорь_С
 
Регистрация: 14.10.2012
Сообщений: 39
По умолчанию перегрузка операторов

пишу программу по перегрузке операторов стрингов(как бы не смешно это не звучало) вопрос такой когда перегружаю оператор + у меня получается что он сначала второй операнд присваивает первому(то есть изменяет значение первого операнда) нужно что бы от перестановки мест слагаемых сумма не изменялась. Не знаю как реализовать.
Код:
#include <iostream>
#include <string.h>

using namespace std;

class String
{
    static const int size=256;
        char data[size];
    public:
        String(char*);
        String &operator+(char*);
        String &operator=(char*);
        String &operator==(char*);
        void print();
};

String::String(char* str)
{
    strcpy(data, str);
}

String& String::operator+(char* str)
{

    
    strcat(data, str);
    return *this;
}

String& String::operator=(char *str)
{
    memset(data, 0, size);
    strcpy(data, str);
    return *this;
}

String& String::operator==(char *str)
{
    
   strcmp(data, str);
   return *this;


}

void String::print()
{
    cout << data << endl;
}
int main()
{
   

    return 0;
}
Игорь_С вне форума Ответить с цитированием
Старый 16.11.2012, 11:11   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Создавать новый объект, записывать в него объединённую строку, его возвращать. this не трогать, и вообще поставить квалификатор const.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перегрузка операторов n3sh Общие вопросы C/C++ 6 28.10.2012 16:57
Перегрузка операторов(С++) Aero93 Помощь студентам 1 18.04.2012 17:00
Перегрузка операторов C++ applegrub Общие вопросы C/C++ 4 20.12.2011 01:04
c++ перегрузка операторов pavel282 Помощь студентам 6 11.09.2010 20:35
Перегрузка операторов, Организация перегрузки операторов chagin_yav Помощь студентам 2 12.05.2008 09:15