..
Medzi charakteristické rysy jazyka C + +, ako iné programovacie jazyky, určite by sme zistiť možnosť rozšírenie mechanizmu aj preťažené operátory, okrem funkcií alebo metód triedy.
Stručne povedané, "preťaženie je všeobecne mechanizmus diferenciácia funkcií s rovnakým názvom (a zvyčajne podobný, ale nie totožný) na základe počtu a druhu dodaných parametrov.
Napríklad som definovať dve funkcie tlače, generické (bez parametrov), ktoré tlačí sérii vopred informáciu, a ďalšie, v ktorom môže užívateľ zadať pomocou nastavenia parametrov primerane, aké informácie je záujem a preto majú byť vytlačené.
Tlač funkcia je teda v tomto prípade znovu definovať tak, aby vyhovovali rôznym informácií poskytnutých užívateľom vstupu. Podobne, C + + umožňuje definovať operátory: Myslíme si, že matematické operátory "+", "-", "*" a "/". To môže byť zaujímavé a praktické, napríklad, definovať "+", operátor sa používa, pokiaľ nie sú čísla, ale reťazce (súbory alfanumerických znakov). V druhom prípade, "súčet" odpovedá zreťazenie reťazcov, napríklad v prípade, že reťazec "Hello" a b v reťazci "sveta", ktorých prevádzka
Reťazec c = a + bvedú k vytvoreniu reťazca C, ktorého hodnota je "Hello world".
"S preťažené, a najmä na preťažovanie operátorov v C + + , sú stále považované v predchádzajúcom článku, na ktoré sa odvolávame na ďalšie vyšetrovanie.
Teraz navrhujeme, aby sa však domnievajú, konkrétne ako môže rovnaký mechanizmus byť rozšírená na ďalšie typy operátorov a ako užitočné, a to najmä s ohľadom na nové a mazať operátorov, čo je užitočné pre správu pamäte.
New a delete operátormi sú užitočné pre správu pamäte, a to najmä pre rezerváciu a priraďovať (alebo rozdeliť), v pamäti potrebné pre nový objekt (nový) a zadarmo (alebo navrátiť), pamäť pre ďalšie použitie (zmazať).
Veľmi zaujímavý aspekt C + +, ktorá sa odlišuje od C, je existencia nových a odstrániť, ktoré umožňujú, napríklad s ohľadom na nové, pre výpočet priestor potrebný pre každý objekt automaticky (pri príkaze ekvivalent C, malloc, vyžaduje programátora určiť, aká je veľkosť objektu, ktoré majú byť pridelené).
Na tomto mieste je prirodzené sa pýtať, čo by mohlo byť o užitočnosti mechanizmu preťaženie, pretože sila new a delete je len veľmi všeobecné použitie, zdá zbytočné, aby nová definícia, ktorá berie do úvahy počet prípadov. Cena prevádzkovateľa, je príliš všeobecná, ale ako to už býva, istý nedostatok v konaní. Napríklad, to nie je možné, s použitím štandardná verzia nového prevádzkovateľa, jednoducho skontrolovať, či tam boli problémy s vyčleniť potrebné pamäte (pamäť je k dispozícii? Bol pridelený správne?). Na prekonanie tohto problému je možné využiť "preťažený.
Takže sa budeme zaoberať dnes na jednoduchom príklade, pri preťažení operátora new a zdôrazňuje, že úvahy uvedené a postupy sú platné aj v prípade, že chcete odstrániť z preťažovania operátorov.
| |
JavaScript (kurz)
Kompletný sprievodca pre skriptovanie na strane klienta. Od 39 €. |
| |
OpenOffice (ebook)
Open-source softvér pre správu úradu práce. Len 25 €. |
| |
Paint Shop Pro (prvé)
Webovej grafiky a úpravu fotografií s Corel PSP známe. Od 49 €. |