Rozdiel medzi volaním metod z tried – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Rozdiel medzi volaním metod z tried – C / C++ – Fórum – Programujte.comRozdiel medzi volaním metod z tried – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Pilot205
~ Anonymní uživatel
1 příspěvek
24. 9. 2015   #1
-
0
-

Ahojte, možná blbý dotaz, ale viete mi niekto objasnit  jaký je rozdiel medzi nasledujúcimi volaniami metódy:

1. volanie metody cez instanciu triedy: napr: 

Class class = new Class();
class->spocitajRozmer();

2. Volanie pomocou dvojbodkovej notácie:

Class::spocitajRozmer();

Kedy sa ktorá používa a jaký je v tom rozdiel? Vďaka za odpovede...

Nahlásit jako SPAM
IP: 212.5.206.–
Reklama
Reklama
lukas.balaz0
Super člen
24. 9. 2015   #2
-
0
-

#1 Pilot205
To druhé je volanie static metódy. To je metóda, ktorá nepatrí žiadnej konkrétnej inštancii. Dá sa to použiť napríklad pri singletone a podobných patternoch, ale má to aj iné využitia. Každopádne, budeš to potrebovať oveľa menej ako normálne metódy. Ak s OOP ešte len začínaš, doporučil by som to moc nepoužívať.
Mimochodom, metóda buď je static, alebo nie je. Metódu spocitajRozmer nemôžeš volať aj class->spocitajRozmer() aj Class::spocitajRozmer(). Logickejšie je tu urobiť tu metódu nie static, lebo asi má počítať rozmer tej inštancie.

Nahlásit jako SPAM
IP: 80.242.41.–
KIIV+42
God of flame
24. 9. 2015   #3
-
0
-

#2 lukas.balaz
Technicky vzato muze volat metodu Class::spocitajRozmer() - obvykle v metode potomka, ktery ma jinou implementaci te spocitajRozmer, nebo pokud podedil od vicero rodicu spocitajRozmer. Ale musi to byt uvnitr metody.

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kit+11
Guru
24. 9. 2015   #4
-
0
-

#1 Pilot205
Rozdíl je ten, že to druhé je volání statické metody (není to tedy objektově) a to první je úplně špatně, protože operátor "new" nevytváří třídy, ale objekty.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 62 hostů

Podobná vlákna

C#: rozdiel medzi ref a out — založil newo

Aky je medzi tymto rozdiel: — založil SVKSuli

Rozdiel medzi windows form app vs WPF — založil Anonymní uživatel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý