Přetěžování

Přetížení funkce či operátoru (anglicky function overloading, operator overloading) je v programování taková metoda zápisu zdrojového kódu programu, kdy je možné definovat více funkcí (obslužných metod) se stejnými názvy, zato s různými implementacemi, a to při zachování stejného typu výsledku a i účelu. Volání přetížené metody spustí specifickou implementaci danou kontextem volání.

Přetížení funkce

Na tuto kapitolu jsou přesměrována hesla Přetížení funkce a Přetížení metody.

Rozhodnutí o tom, která z dostupných funkcí bude volána, provádí překladač podle toho, s jakými parametry je funkce volána (rozhoduje počet a datový typ předaných parametrů).

V přetěžování funkcí je rozhodnutí o volané funkci provedeno již při překladu (tj. staticky). Nezaměňujte proto přetěžování funkcí s přepisováním funkcí (metod), kde se o volání vhodné funkce rozhoduje až za běhu programu pomocí virtuálních funkcí (tj. dynamicky).

Použití

Přetěžování funkcí je v praxi často používané v objektově orientovaném programování, kde je také používáno pro přetížení konstruktorů.[1]

Příklad přetížení funkce v programovacím jazyce C++ (různé typy a počet parametrů):

double prumer(double n1, double n2){
	return (n1+n2)/2;
}

double prumer(int n1, int n2){
	return (n1+n2)/2;
}

double prumer(int n1, int n2, int n3){
	return (n1+n2+n3)/3;
}

int main(){
	double d1, d2, pr;
	int i1, i2, i3;
	pr = prumer(i1, i2, i3); // Tady se vola treti funkce
	pr = prumer(d1, d2); // Tady se vola prvni funkce
	pr = prumer(i1, i2); // Tady se vola druha funkce
	return 0;
}

Příklad přetížení metod v programovacím jazyce C++:

class Complex{
	public:
		// Tady bude deklarace konstruktoru, promennych atd.
		Complex get_sum(const Complex &c2);
		Complex get_sum(double re2);
};

Complex Complex::get_sum(const Complex &c2){

	Complex sum;
	sum.set(re+c2.get_re(), im+c2.get_im());
	return sum;
}

Complex Complex::get_sum(double re2){

	Complex sum;
	sum.set(re + re2, im);
	return sum;
}

int main(){

	Complex n1, n2, sum;
	double re;
	sum = n1.get_sum(n2); // Tady se vola prvni metoda
	sum = n1.get_sum(re); // Tady se vola druha metoda
	return 0;
}

Přetížení operátoru

Na tuto kapitolu je přesměrováno heslo Přetížení operátoru.

Jazyk C a C++ obsahuje interní definice operátorů pro základní datové typy (int, float, double aj.). C++ umožňuje definovat operátory pro uživatelské typy, tj. pro objektové proměnné (např. chceme-li sečíst dvě struktury typu Matice). Pokud překladač narazí v kódu na znak operátoru, analyzuje datové typy na levé a pravé straně (u binárních operátorů), pokud se jedná o základní datové typy, použije interní zpracování, pokud se jedná o uživatelské typy (tj. objektové typy), hledá operátor, jehož dva parametry odpovídají typově použitým typům.[1]

Příklad přetížení operátoru v programovacím jazyce C++:

Complex operator+(const Complex &c1, const Complex &c2){ //deklarace přetížení operátoru +

	Complex sum;
	sum.set(c1.get_re() + c2.get_re(), c1.get_im() + c2.get_im());
	return sum;
}

int main(){

	Complex n1, n2, sum;
	sum = n1 + n2; // Tady se zavola operator+
	return 0;
}

Reference

  1. a b PROKOP Martin. Pokročilé programování v jazyce C pro chemiky – Reference, přetížení funkcí, operátory [online]. Brno: NCBR, 2011 [cit. 2011-05-10]. Dostupné v archivu pořízeném dne 2011-07-18.  – neplatný odkaz !

Související články

Read other articles:

Residential in Illinois, USAThe MontgomeryFormer namesMontgomery Ward HeadquartersGeneral informationStatusCompletedTypeResidentialArchitectural styleModernAddress500 West Superior StreetTown or cityChicago, IllinoisCountryUSACoordinates41°53′45″N 87°38′32″W / 41.89587°N 87.64231°W / 41.89587; -87.64231Completed1972Renovated2005–2006Height403.67 ft (123.04 m)Technical detailsStructural systemCurtain wallFloor count28Lifts/elevators6 plus one whe...

 

Jay Inslee 23° Gobernador de Washington Actualmente en el cargo Desde el 16 de enero de 2013Vicegobernador Brad OwenCyrus HabibPredecesor Christine Gregoire Miembro de la Cámara de Representantes de los Estados Unidospor el 1.º distrito congresional de Washington 3 de enero de 1999-20 de marzo de 2012Predecesor Rick WhiteSucesor Suzan DelBene Miembro de la Cámara de Representantes de los Estados Unidospor el 4.º distrito congresional de Washington 3 de enero de 1993-3 de enero de 1995Pre...

 

سباق جائزة البحرين الكبرى 2012 (بالإنجليزية: 2012 Formula 1 Gulf Air Bahrain Grand Prix)‏  السلسلة بطولة العالم لسباقات فورمولا 1 موسم 2012  البلد البحرين  التاريخ 22 أبريل 2012  مكان التنظيم حلبة البحرين الدولية  أول المنطلقين سباستيان فيتل  تعديل مصدري - تعديل   سباق جائزة البحرين...

Hitlergruß der Reichstagsabgeordneten in der Krolloper in Berlin, 1941 Einwohner von Eger im Oktober 1938 beim Einrücken des deutschen Militärs Deutsche Christen bei der Nationalsynode in Wittenberg, September 1933 Heil Hitler! als Schlussformel eines amtlichen, maschinschriftlichen Briefs der ADERSt, Zweigstelle Meran, von 1942 Der Hitlergruß, offiziell[1] und im nationalsozialistischen Sprachgebrauch auch als Deutscher Gruß bezeichnet, war in der Zeit des Nationalsozialismus die

 

AFF Suzuki Cup 2010 تفاصيل البطولة الدولة المستضيفة Indonesia Vietnam المنظم اتحاد آسيان لكرة القدم  التاريخ 1 – 29 ديسمبر الفرق 8 عدد المباريات 18   عدد الأهداف 51   بطولة آسيان لكرة القدم 2008  كأس آسيان لكرة القدم 2012  تعديل مصدري - تعديل   بطولة كأس آسيان لكرة القدم 2010، يطلق عليها ...

 

Voor de gelijknamige kerk in Oudewater, zie Grote of Sint-Michaëlskerk (Oudewater). Voor de voormalige kerk aan de Roggenstraat, zie Sint-Michaëlkerk (Zwolle). Grote of Sint-Michaëlskerk Plaats Zwolle Gewijd aan Sint-Michaël Coördinaten 52° 31′ NB, 6° 6′ OL Gebouwd in 1406 - 1466 Restauratie(s) Diverse renovaties Begraafplaats Grafkelder en graven Monumentale status Rijksmonument Monumentnummer  41666 Architectuur Stijlperiode Nederrijnse gotiek Klokkent...

Sky HighSutradara Mike Mitchell Produser Andrew Gunn Ditulis oleh Paul Hernandez Robert Schooley Mark McCorkle PemeranMichael Angarano,Kurt Russell,Kelly PrestonPenata musikMichael GiacchinoSinematograferShelly JohnsonPenyuntingPeter AmundsonDistributorDisney PicturesTanggal rilis29 Juli 2005Durasi102 menitNegaraBahasa Inggris Anggaran~ US$ 35.000.000IMDbInformasi di IMDb Sky High adalah sebuah film produksi Disney Pictures pada tahun 2005. Di Amerika Serikat, film ini dirilis pada 29 J...

 

Sistem Informasi Geografis (Geographic Information System) adalah sistem komputer yang digunakan untuk memasukkan, menyimpan, memeriksa, mengintegrasikan, memanipulasi, menganalisis, dan menampilkan data yang berhubungan dengan posisi-posisi di permukaan bumi. SIG identik dengan penggunaan komputer karena komputer memiliki banyak keunggulan terutama kecepatan dan efisiensi. SIG dijadikan sebagai alat atau media yang digunakan untuk pemetaan dan analisis terhadap berbagai aktivitas di permukaa...

 

Medical conditionCommunication disorderSpecialtySpeech–language pathology  A communication disorder is any disorder that affects an individual's ability to comprehend, detect, or apply language and speech to engage in dialogue effectively with others.[1] This also encompasses deficiencies in verbal and non-verbal communication styles.[2] The delays and disorders can range from simple sound substitution to the inability to understand or use one's native language.[3&#...

2014 video game 2014 video gameDark Souls IIDeveloper(s)FromSoftwarePublisher(s)Bandai Namco GamesJP: FromSoftwareDirector(s)Tomohiro ShibuyaYui TanimuraProducer(s)Masanori TakeuchiDesigner(s)Naotoshi ZinProgrammer(s)Yoshitaka SuzukiArtist(s)Keiichiro OgawaWriter(s)Toshifumi NabeshimaComposer(s)Motoi SakurabaYuka KitamuraSeriesDark SoulsPlatform(s)PlayStation 3Xbox 360WindowsPlayStation 4Xbox OneRelease March 11, 2014 PlayStation 3, Xbox 360NA: March 11, 2014[1]JP: March 13, 2014[...

 

Demographics of MontenegroPopulation pyramid of Montenegro in 2020Population604,966 (2022 est.)Growth rate-0.41% (2022 est.)Birth rate11.19 births/1,000 population (2022 est.)Death rate10.33 deaths/1,000 population (2022 est.)Life expectancy77.75 years • male75.32 years • female80.27 years (2022 est.)Fertility rate1.81 children born/woman (2022 est.)Infant mortality rate3.24 deaths/1,000 live birthsNet migration rate-4.97 migrant(s)/1,000 population (2022 est.)Age stru...

 

Nagpuri culture refers to the culture of the Nagpuria people, the native speakers of the Nagpuri language, which includes literature, festivals, folk song and dance.[1][2] It is also referred to as the culture related to the Nagpuri language.[3] Language Main articles: Nagpuri language and Nagpuri literature Nagpuri is the native language of Sadan, the Indo-Aryan ethnolinguistic group of Chotanagpur. It is spoken in the western and central Chota Nagpur plateau region. ...

The Sexual Paradox Susan Pinker signing her book (2017).AuthorSusan PinkerCountryUnited StatesLanguageEnglishPublisherCharles Scribner's SonsPublication date2008Pages352ISBN978-0743284707 The Sexual Paradox is a book by Susan Pinker published by Scribner in 2008. Pinker is a psychologist and columnist for The Globe and Mail.[1] The Sexual Paradox was 2009 winner of the American Psychological Association's annual William James Book Award, a New York Times Editor's Choice, and one of th...

 

Student club The topic of this article may not meet Wikipedia's notability guidelines for companies and organizations. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: Nottingham University Gliding Club – news · newspapers&...

 

County in Ohio, United States Not to be confused with Shelby, Ohio. County in OhioShelby CountyCountyShelby County Courthouse FlagSealLocation within the U.S. state of OhioOhio's location within the U.S.Coordinates: 40°20′N 84°12′W / 40.33°N 84.2°W / 40.33; -84.2Country United StatesState OhioFoundedApril 1, 1819[1]Named forIsaac ShelbySeatSidneyLargest citySidneyArea • Total411 sq mi (1,060 km2) • Land40...

2011 studio album by Gloc-9TalumpatiStudio album by Gloc-9ReleasedFebruary 23, 2011Recorded2010GenrePinoy hip hopLabelMusiko Records&Sony Music PhilippinesProducerRudy Y. TeeGloc-9 chronology Matrikula(2009) Talumpati(2011) MKNM: Mga Kwento Ng Makata Talumpati (lit. 'Speech') is the 5th (overall) studio album and his last album for Sony Music of Filipino rapper, Gloc-9. It has 16 tracks and released under Musiko Records & Sony Music Philippines. The album has been av...

 

Legislative Assembly constituency in Manipur State, India ThongjuConstituency No. 5 for the Manipur Legislative AssemblyConstituency detailsCountryIndiaRegionNortheast IndiaStateManipurDistrictImphal EastLS constituencyInner ManipurTotal electors32,132[1]ReservationNoneMember of Legislative Assembly12th Manipur Legislative AssemblyIncumbent Thongam Biswajit Singh PartyBharatiya Janata PartyElected year2022 Thongju (Vidhan Sabha constituency) is one of the 60 Vidhan Sabha constituencie...

 

Sir Reginald Pole-CarewLieutenant-General Sir Reginald Pole-CarewBorn(1849-05-01)May 1, 1849DiedSeptember 19, 1924(1924-09-19) (aged 75)AllegianceUnited KingdomService/branchBritish ArmyRankLieutenant-GeneralCommands held8th Division11th DivisionGuards Brigade9th BrigadeBattles/warsSecond Anglo-Afghan WarSecond Boer WarAwardsKnight Commander of the Order of the BathCommander of the Royal Victorian Order A General Group, Vanity Fair, 29 November 1900, depicting Lord Roberts and his comman...

Indian writer and academic (1938–2019) Nabaneeta Dev SenBorn(1938-01-13)January 13, 1938Calcutta, British IndiaDied7 November 2019(2019-11-07) (aged 81)Kolkata, IndiaOccupationNovelist, children's author, poet, academicEducationUniversity of Calcutta (BA)Jadavpur University (MA)Harvard University (MA)Indiana University, Bloomington (PhD)Notable awardsPadma Shri (2000)Sahitya Akademi Award (1999)Kamal Kumari National Award (2004)Spouse Amartya Sen ​ ​(m. 1958...

 

Railway station in North Korea Pot'onggang보통강Korean nameHangul보통강역Hanja普通江驛Revised RomanizationBotonggang-yeokMcCune–ReischauerPot'onggang-yŏk General informationLocationPulg'ŭn'gori 1-dong,Pot'onggang-guyŏk,P'yŏngyangNorth KoreaOwned byKorean State RailwayPlatforms3 (1 island)Tracks4Connections   Hyŏksin Line (Kŏn'guk station) Pyongyang Tram Line 1HistoryOpened21 March 1944ElectrifiedyesOriginal companyChosen Government RailwayServices Preceding station Kor...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!