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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2010, 13:52   #1
Jane-sad
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 22
По умолчанию Перегрузка оператора +

Помогите, пожалуйста.
Проблема в операторе перегрузке +. Код взяла из книжки один к одному. Ошибка С 2137(на какой строке в коде обозначено). Что не так в этой строчке и если можно дополнительно написать перегрузку попроще (может функция strcat ). Что происходит в по коду после строки exit(1);}
я не очень понимаю, так как все взяла из примера.


class string
{
char *str; //строка
int size; //размер строки

public:
string(); //конструктор по умолчанию
string(char*a); //конструктор
string(const string &s); //конструктор копий
~string(); //деструктор
friend string operator+(string,const string);
void print();
};
// перегрузка оператора + относительно класса string
string operator+(string s1,const string s2)
{string ss; //создается новый объект ss класса string
ss.str=new char[strlen(s1.str)+strlen(s2.str)+2]; //выделяем память
if(!ss.str)
if(!ss.str)
{cout<<"Oshibka pamyati\n";
exit(1);}

for(int i=0; ss.str[i]=s1.str[i];i++);
ss.str[i]=''; //ошибка error C2137: empty character constant

for(int j=0; ss.str[i+1]=s2.str[j];i++,j++);
return ss;

}
int main()
{
string s1("Peregruzka");
string s2("Operator");
s1.print();
s2.print();

string s4=s1; // это только вызов конструктора копирования
cout<<"konstruktor s4:";
s4.print();


cout<<"operator +:";
s1+s2;
s1.print();
return 0;

}
Jane-sad вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перегрузка оператора -> alex_alpha Общие вопросы C/C++ 5 23.06.2010 19:07
С++ перегрузка оператора cati Помощь студентам 10 21.04.2010 23:38
перегрузка оператора << z3rg Общие вопросы C/C++ 18 02.03.2010 02:58
Перегрузка оператора + z3rg Общие вопросы C/C++ 1 22.03.2009 03:06
Перегрузка оператора + (С++) MjRed Помощь студентам 1 15.12.2008 18:57