[C++] Przeciążanie operatora << w klasie
Ostatnio zmodyfikowano 2013-11-05 13:38
curlybracket Temat założony przez niniejszego użytkownika |
[C++] Przeciążanie operatora << w klasie » 2013-11-05 13:19:15 Mam następujacą sytuację: przeładowany operator <<
cfg cfg::operator <<( const char * parameter ) { keys.push_back( QString( parameter ) ); return * this; }
Dzięki czemu mogę stosować zapis
obiekt << "tekst";
Powyższy kod dodaje tekst do wektora keys, jednak potrzebuję móc stosować zapis łańcuchowy:
obiekt << "tekst1" << "tekst2" << "tekst3";
Czyli dodać naraz kilka zmiennych do wektora.
To się udaje ponieważ wektor keys jest statyczny. W przeciwnym razie jedyne co osiągam to zapisanie pierwszej z podanych wartości ("tekst1") na pozycji zerowej wektora.
Jeżeli wektor nie jest statyczny, mogę zrobić tak:
cfg = cfg << "tekst1" << "tekst2" << "tekst3";
I znowu osiągam to co chcę czyli wektor zawiera moje trzy wartości.
Pytanie brzmi: w jaki sposób mogę użyć niestatycznego wektora i pozostać przy zapisie
cfg << "tekst1" << "tekst2" << "tekst3";
żeby załadować do wektora te trzy wartości? |
|
maly |
» 2013-11-05 13:33:25 cfg & cfg::operator <<( const char * parameter ); |
|
curlybracket Temat założony przez niniejszego użytkownika |
» 2013-11-05 13:38:31 Działa. Wielkie dzięki! |
|
« 1 » |