cucumber Posted May 26, 2008 Report Posted May 26, 2008 Man viena no eksamena biletem ir tads jautajums "Kaskadēta metožu izsaukšana" kads nevar paskaidrots, kas tas ir? (vairak saistiba ar c++)
bubu Posted May 26, 2008 Report Posted May 26, 2008 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...
cucumber Posted May 26, 2008 Author Report Posted May 26, 2008 kapec, gan nepajautat? pie pasniedzeja ari iesu konsulteties val = val1 + val2 + val3 // ar var teikt ka tas ir kaskadesanas piemers
andrisp Posted May 26, 2008 Report Posted May 26, 2008 Man liekas, ka tas plus plus nav gan gluži tas pats. http://www.google.com/search?hl=en&q=method+chaining
bubu Posted May 26, 2008 Report Posted May 26, 2008 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.
Recommended Posts