Перегрузка >> и << ( C++ ) помогите ( не актуально ) Люди, для "усовершенствования" своих навыков программирования, попытался для класса перегрузить операторы вводы\выводы из потока ( << >> ) Есть такой простой класс Он еще ничего не делает, только создается и удаляется. Code: #include<iostream> class String { friend ostream& operator<<( ostream &stream, String &obj); public: String ( char *str); // конструктор ~String () { delete []ptr; } // деструктор private: int lenght; char *ptr; }; String::String ( char *str ) // опис. конструктора { if ( str == NULL || strlen(str) == 0 ) { ptr = new char[1]; ptr[0] = '\0'; lenght = 0; } else { lenght = strlen(str); ptr = new char[lenght]; for ( int i=0; i<lenght; i++) ptr[i] = '0'; ptr[lenght] = '\0'; } } int main() { // тут какой то код } ostream& operator << (ostream &stream, String &obj) { // тут описание оператора ввода в поток. } Но это не очень важно. Важно другое. Компилятор ругается строки и выдает такое Code: friend ostream& operator<<( ostream &stream, String &obj); error C2143: syntax error : missing ';' before '&' error C2433: 'ostream' : 'friend' not permitted on data declarations error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2061: syntax error : identifier 'ostream' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2805: binary 'operator <<' has too few parameters Code: friend ostream& operator << (ostream &stream, String &obj) error C2143: syntax error : missing ';' before '&' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2086: 'int ostream' : redefinition error C2065: 'stream' : undeclared identifier error C2065: 'obj' : undeclared identifier error C2275: 'String' : illegal use of this type as an expression error C4430: missing type specifier - int assumed. Note: C++ does not support default-int fatal error C1903: unable to recover from previous error(s); stopping compilation В чем проблема ? p.s использую Microsoft Visual Studio 2005 Version 8.0.50727.42 p.s.p.s в Borland 3.1 все компилируется