Jump to content
php.lv forumi

Kaskadēta metožu izsaukšana


cucumber

Recommended Posts

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

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

kapec, gan nepajautat? pie pasniedzeja ari iesu konsulteties

 

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

×
×
  • Create New...