Jump to content
php.lv forumi

Recommended Posts

Posted

Man viena no eksamena biletem ir tads jautajums "Kaskadēta metožu izsaukšana" kads nevar paskaidrots, kas tas ir? (vairak saistiba ar c++)

Posted

Neesmu pazīstams ar latviskiem terminiem, taču šķiet, ka tas ir kaut kas šāds te:

obj->metode1()->metode2()->metode3();

Visas metodes tiek izsauktas vienam un tam pašam objektam (obj), jo katra no tām metodeX metodēm atgriež pointeri uz paša objektu (return this).

 

Cits, populārs pieraksts (operatoru kaskadēta izsaukšana?) :

std::cout << "Hello" << ' ' << "world!" << std::endl;

Šajā gadījumā std::cout ir std::ostream klases objekts. std::ostream klasei ir definēts std::ostream& operator <<, kurš ir overload'ēts ar visdažādākajiem argumentu tipiem, bet vienmēr atgriež *this objektu - referenci uz sevi.

 

P.S. Par eksāmena biļetēm jāiet konsultēties ar pasniedzēju, nevis netēmā php forumā kas tāds jāprasa.

 

Edit: gūgle taču arī dafiga atbildes atdod: http://www.google.com/search?q=cascaded+method+call+c%2B%2B Kādas tad tur var būt vēl nesaprašanas...

Posted

kapec, gan nepajautat? pie pasniedzeja ari iesu konsulteties

 

val = val1 + val2 + val3 // ar var teikt ka tas ir kaskadesanas piemers

Posted

cucumber: Ja + ir pārlādēta val1/val2 objektu operators (operator +), kurš atgriež *this, tad jā - var teikt, ka tas ir kaskādētu operatoru izsaukšanas piemērs.

Ja tas neatgriež *this, bet gan kādu cita tipa objektu, tad nezinu vai var tā teikt.

×
×
  • Create New...