• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Manipulator bezparametrowy

Object Storage Arubacloud
0 głosów
204 wizyt
pytanie zadane 3 listopada 2018 w C i C++ przez karwyt Nowicjusz (140 p.)
edycja 3 listopada 2018 przez karwyt

Witam

Gdzie mogę znaleźć jak tworzy się manipulatory bezparametrowe?

mam zrobić, żeby działała ta linijka

nazwaklasy a;
a << "qwerty" << pause <<"asdfg"; 

pause ma być manipulatorem który zatrzyma program na pewien czas komendą Sleep.

Prosił bym o jakąś podpowiedź, albo poradnik jak robić taki manipulator bezparametrowy

 

Próbowałem tak

nazwaklasy& nazwaklasy::pause(morse& t)
{
	Sleep(przerwa);    //przerwa to zmienna w klasie
	return t;
}

ale wywala błąd, że pasue jest niezadeklarowane

1 odpowiedź

0 głosów
odpowiedź 3 listopada 2018 przez RafalS VIP (122,820 p.)
edycja 3 listopada 2018 przez RafalS

Potrzebujesz przeładować operator << dla Twojej klasy i typu jakiego będzie zmienna a raczej stała zdefiniowana w jednym pliku koło klasy.

Edit: zerknąłem jak robi to ios_base aka cout i nawet mi sie spodobal ten sposob:

struct A{
	A& operator<<(string s) {
		//do some work here
		return *this;
	}
	A& operator<<(A& (*fun)(A&)) {
		return fun(*this);
	}
};

A& pause(A& a) {
	//do anything here, for example Sleep(5)
	return a;
}

int main() {
	A a;
	a << "qwerty" << pause << "asdfg";
}
komentarz 3 listopada 2018 przez karwyt Nowicjusz (140 p.)

Nie do końca rozumiem " typu jakiego będzie zmienna a raczej stała zdefiniowana w jednym pliku koło klasy. "

operator<<(nazwaklasy &t, ??)

Co będzie wtedy 2 argumentem tutaj? pause ?

komentarz 3 listopada 2018 przez RafalS VIP (122,820 p.)
Mam lepszy pomysl, bedzie za 5 min :P
komentarz 3 listopada 2018 przez RafalS VIP (122,820 p.)
Edytowalem, zerknij.
komentarz 3 listopada 2018 przez karwyt Nowicjusz (140 p.)

Tylko, że ja nie mogę maina zmieniać i to musi byc 

nazwaklasy a

a nie struktura

A a

 

komentarz 3 listopada 2018 przez j23 Mędrzec (194,920 p.)

Przecież to przykład. Zmień sobie A na nazwaklasy.

Podobne pytania

0 głosów
1 odpowiedź 98 wizyt
pytanie zadane 15 listopada 2020 w C i C++ przez rolniczy Nowicjusz (210 p.)
0 głosów
1 odpowiedź 389 wizyt
pytanie zadane 14 grudnia 2018 w C i C++ przez karwyt Nowicjusz (140 p.)
0 głosów
1 odpowiedź 370 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...