Re[2]: Перегрузка << и >>
От: Moroz Россия  
Дата: 27.04.01 11:20
Оценка:
Здравствуйте willi, 27.04.2001 02:24:16 вы писали:

>приведи пример исходного текста

>а то что-то не совсем понятно
class CMyClass
{
private:
int inform;
char* cStr;
public:
CMyClass() {inform = 0; cStr = NULL;}
~CMyClass();
void SetData(int i,char* inStr);
int GetInform(){return inform;}
const char* GetChar() {return cStr;}
friend ofstream& operator << (ofstream& stream, const CMyClass &SaveObj)
{
stream << inform << endl;
stream << cStr << endl;
return stream;
}
friend ifstream& operator >> (ifstream& stream, CMyClass &LoadObj)
{
char tmp[255];
stream >> inform;
stream >> tmp;
if(cStr)
delete [] cStr;
LoadObj.cStr = NULL;
LoadObj.cStr = new char(strlen(tmp)+1);
strcpy(LoadObj.cStr,tmp);
return stream;
}
};
Исходник не проблема, но если пытаюсь вызвать

CMyClass Obj;
ofs << Obj;
компиллер орет что << не определён для CMyClass

ps: Если определение вынести за класс, то access к private нельзя
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.