Mam takie klasy:
class Tplyta{
string wykonawca;
string tytul_plyty;
double cena;
public:
Tplyta(string W, string T, double C);
friend ostream &operator<<(ostream &s,const Tplyta &P)
{ return s<< "Wykonawca - " << P.wykonawca << endl << "Tytul - " << P.tytul_plyty << endl << "Cena - " <<P.cena << endl << "\n"; }
void do_pliku();
};
class TablicaPlyt
{
vector <Tplyta> Plyty;
public:
TablicaPlyt&operator<<(const Tplyta &T){ Plyty.push_back(T); return *this; }
const Tplyta &operator[](unsigned p)const { return Plyty[p]; }
void usun(unsigned m);
int rozmiar();
};
myslalem ze jak mam przeciążony operator [] to stworzę sobie metodę w klasie Tplyta void do_pliku()
i wywołanie:
unsigned n = Tab.rozmiar();
for(unsigned i=0;i < n; i++)
{Tab[i].do_pliku();}
}
wszystko mi zalatwi, ale niestety kompilator zglasza bląd :
D:\zad2.cpp|99|error: passing 'const Tplyta' as 'this' argument of 'void Tplyta::do_pliku()' discards qualifiers|
moge prosić o podpowiedź ?