Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Przeciążanie operatora << w klasie

Ostatnio zmodyfikowano 2013-11-05 13:38
Autor Wiadomość
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 <<
C/C++
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?
P-95327
maly
» 2013-11-05 13:33:25
cfg & cfg::operator <<( const char * parameter );
P-95329
curlybracket
Temat założony przez niniejszego użytkownika
» 2013-11-05 13:38:31
Działa. Wielkie dzięki!
P-95331
« 1 »
  Strona 1 z 1