Witam, dopiero zaczynam ogarniać klasy, ale czytam, próbuje i niestety nie działa. Program to prosta baza danych, i wywala się na przeciążaniu operatorów. Na metodach niestety też. Proszę o pomoc i wyrozumiałość dla mojej niewiedzy. Oto kod:
class data
{
private:
string fname;
string lname;
string phoneNo;
public:
data(string fname_, string lname_, string phoneNo_) {fname = fname_,lname = lname_, phoneNo = phoneNo_;}; //konstruktor
data(); //konstruktor domyślny
void wypisz(); //metoda umożliwiająca wypisanie rekordu
void wpisz(); //metoda umożliwiająca wpisanie wartości
friend ostream & operator<< (ostream &wyjscie, data &b);
friend ostream & operator>> (ostream &wejscie, data &b);
};
ostream & operator << (ostream &wyjscie, data &b) // przeciazenie operatora wyjscia
{
wyjscie<<b.fname<<" "<<b.lname<<" "<<b.phoneNo;
return wyjscie;
}
istream & operator >> (istream &wejscie, data &b) // przeciazenie operatora wejscia
{
wejscie>>b.fname>>b.lname>>b.phoneNo;
return wejscie;
}
void data::wypisz()
{
cout<<data;
}
void data::wpisz()
{
cin>>data;
}
Zadeklarowałem tak, jak w poleceniu, nie do końca wiem po co mi ten konstruktor domyślny i czy mam poźniej jeszcze coś pisać, żeby jakoś działał no ale nie w tym rzecz. Przecież piszę, że te operatory są zaprzyjaźnione a nie mogą działać na tych stringach. No i jeszcze metody, w których niby brakuje średnika a tak naprawdę to nie wiem czemu nie działa