![]() |
Объясните пожалуйста перегрузку оператора <<
вот код....
Код:
#include <iostream.h> |
Ответ: Объясните пожалуйста перегрузку оператора <<
во первых оператор << перегружается внешне, если-бы он перегружался внутренне, надо было бы писать somestring<<cout; (у тебя получается что ему передается ТРИ параметра, два тобой явно указаны, а третий - string*, котрый this.
кстати, судя по реализации, тебе нао перегружать >> не? Код:
#include <iostream> 1. char *v - глобальная переменная. совершенно ненужная причем. 2. value__ - двойное подчеркивание зарезервированно компиляторами и стандартной библиотекой, не стоит его использовать в своих именах. 3. while(value__ != 0) value__ = value_[b++]; не проще ли было просто написать: while(value_[b++])?? или даже еще лучше: b = strlen(value_) 4. самое главное - что за тупой, не, ТУПОЙ, realloc? понтанулся что знаешь такую команду? или зачем? ты вкурсе что у тебя в data на момент вызова realloc-а, мусор? вот поситай: http://www.codenet.ru/progr/cpp/spru/realloc.php malloc и все тут. еще лучше new char[b]; по крайней мее так твоя программа не валится. 5. приведение типа в старом стиле ненужны. учи static, reinterpret, const и dynamic cast-ы. если не хочешь учить - используй static_cast заместо приведения в старом стиле. |
Часовой пояс GMT +4, время: 11:36. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot