gahoj
, mám úkol do školy, kde mám ve tříde TClass privátní proměnnou char *iValue. Mám přetížit operátor >> ( v mainu pro cin>> (objekt tridy) - to by mělo přiřadit řetězec do iValue pomocí metody SetValue()
class TClass
{
private:
const char *iValue;
.
.
.
void SetValue(const char *aValue)
{
iValue = aValue;
}
.
.
.
friend std::ostream& operator<<(std::ostream& aOStream, const TClass &adata)
{aOStream << adata.iValue ; return aOStream;}
friend std::istream& operator>>(std::istream& aIStream, TClass& adata)
{
char *buff;
buff = new char;
aIStream.width(50+1); //tady jsem zkoušel snad všechno a furt nic
aIStream >> &buff[0];
adata.SetValue(buff);
free(buff);
return aIStream;
}
main.cpp:
.
.
.
TClass a;
cin>>a;
cout<<a;
cout<<a; -> vypisuje nějaký náhodný znaky, ale když dám např.: TClass b("ahoj"); cout<<b; tak to vypíše bez problémů "ahoj"
...už mi z toho hrabe :-), věděl by někdo, co tam je špatně?
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Duch

Nahlásit jako SPAM
IP: 2001:67c:1220:c1b1:6df7:1...–
Guru
God of flame
Zjistit počet nových příspěvků
































