Mikä on ylikuormitus C ++: ssa?

C ++ mahdollistaa joustavan ja helposti ymmärrettävän koodin kirjoittamisen käsitteellä ylikuormitus. Se mahdollistaa erilaisten toiminnallisuuksien saavuttamisen olemassa olevassa koodissa erittäin pienillä muutoksilla vähentämällä siten kopiokoodia. Periaatteessa on pääasiassa kahta ylikuormituksen ensisijaista tyyppiä, joita C ++ tukee.

C ++ antaa meille mahdollisuuden kirjoittaa toimintoja samalla nimellä, mutta sillä, että tietotyypeissä tai sille siirretyissä argumentteissa on eroja, tämä ominaisuus tunnetaan C ++: n funktion ylikuormituksena. Tämän ominaisuuden avulla kehittäjät voivat määritellä toiminnot samalla nimellä samalla laajuudella. Samalla nimellä toiminnot edustavat samaa toiminnallisuutta, mikä mahdollistaa käännösajan polymorfismin saavuttamisen. Toiminnon ylikuormituksella on yksi etu, että se parantaa koodin luettavuutta.

C ++: ssa on toinen ominaisuus, joka mahdollistaa sisäänrakennettujen operaattoreiden nykyisten toimintojen uudelleenmäärityksen, joka tunnetaan nimellä Operaattorin ylikuormitus . Tämä ominaisuus mahdollistaa sisäänrakennettujen operaattoreiden käyttämisen käyttäjän määrittämissä tyypeissä. Operaattorin ylikuormitus yksinkertaistaa koodia määrittelemällä toiminnallisuus uudelleen käyttäjän vaatimusten mukaisesti. Tässä artikkelissa keskitymme sekä toiminnan ylikuormitukseen että operaattorin ylikuormitukseen, näemme sen yksityiskohdat ja miten sitä käytetään C ++: ssa.

Kuinka ylikuormitus toimii C ++: ssa?

  • Funktion ylikuormitus: Sen avulla voimme määritellä toiminnon samalla nimellä, mutta se erottaa toiminnot heille siirrettyjen parametrien tyypin tai heille annettujen parametrien lukumäärän mukaan. Joten kaikilla toiminnoilla on sama nimi, mutta niillä on joko erilainen tietotyyppi tai niille on annettu eri määrä parametreja. Kun funktiota kutsutaan, kääntäjä valitsee funktion vastaavan tyyppisellä parametrilla ja vastaavalla argumenttien määrällä. Nyt sen kehittäjät voivat valita, mitä toimintoa soittaa vaatimusten mukaisesti. He voivat valita sopivan toiminnon ohittamalla parametrit sääntöjä noudattaen.
  • Operaattorin ylikuormitus: Sen avulla operaattorit voivat työskennellä käyttäjän määrittämissä tietotyypeissä eli luokissa. Nykyiset operaattorit ovat ylikuormitetut ja heillä on valtuudet toimia käyttäjän määrittelemässä luokassa ja objekteissa. Operaattorin ylikuormitus saavutetaan määrittelemällä toiminto erikoisnimellä. Toiminnolla on nimi ”käyttäjä”, jota seuraa käyttäjän symboli. Voimme käyttää operaattorisymbolia suoraan käyttäjän määrittämässä tietotyypissä ja suorittaa toiminnon. Tarvittava toiminta tai toiminta on määritelty tuossa erikoistoiminnossa. Operaattorin ylikuormituksen avulla voimme suorittaa erityyppisiä toimintoja samalla tietotyypillä.

Ylikuormitustyypit C ++: ssa

Toimintojen ylikuormitus voidaan saavuttaa muutenkin parametrien käytön suhteen. Kun sanotaan parametrien käyttö, se tarkoittaa parametrien tyyppiä tai parametrien lukumäärää tai parametrien sekvenssiä. Joten funktio calc (int x, float y), jolla on parametrit (int x, float y), eroaa funktiosta, joka määritetään calc (float x, int y), jolla on eri parametrit eri datatyypillä.

Funktion ylikuormitus voidaan saavuttaa useilla tyypeillä. Katsotaanpa yksinkertainen esimerkki funktion ylikuormituksesta C ++: ssa.

#include
using namespace std;
class Display (
public:
static void show (char message() ) (
cout<< "Only Message:" << message << endl;
)
static void show (int messageId, char message()) (
cout<< "Message with Id:";
cout << messageId << " Message:" << message << endl;
)
);
int main (void) (
Display obj;
char message() = "Welcome";
int messageId = 10;
obj.show(message); //calling overloaded function with 1 parameter
obj.show(messageId, message);//calling overloaded function with 2 parameters
return 0;
)

Täällä meillä on luokanäyttö, jossa on ylikuormitettu menetelmänäyttö. Esitysmenetelmää kutsutaan sille siirretyistä argumenteista riippuen.

lähtö:

Ainoa viesti: Tervetuloa

Viesti tunnuksella: 10 Viesti: Tervetuloa

Operaattorin ylikuormitus voidaan saavuttaa melkein kaikilla sisäänrakennetuilla tietotyypeillä, jotka ovat saatavilla C ++: ssa. Operaattorien ylikuormitusta ei sellaisenaan ole, mutta lähestymistavat voivat olla erilaisia, joita käytetään saavuttamaan operaattorin ylikuormitus. Operaattorit, kuten Unary, Binary, Relational, Assignment jne., Voidaan ylikuormittaa C ++ -sovelluksessa.

Katsotaanpa yksinkertainen esimerkki ++ -operaattorin ylikuormituksesta. Tässä esimerkissä primitiivisen tietotyypin sijasta käytämme ++ -operaattoria käyttäjän määrittämässä luokkaobjektissa.

#include
using namespace std;
class Bike (
private:
int height;
public:
Bike (): height (80) () //constructor which initializes the height variable
void operator ++() (
height = height + 5;
)
void Specs () (
cout << "The height of the bike is: " < )
);
int main(void)
(
Bike bike;
bike.Specs();
++bike; //calling overloaded operator
bike.Specs();
return 0;
)
#include
using namespace std;
class Bike (
private:
int height;
public:
Bike (): height (80) () //constructor which initializes the height variable
void operator ++() (
height = height + 5;
)
void Specs () (
cout << "The height of the bike is: " < )
);
int main(void)
(
Bike bike;
bike.Specs();
++bike; //calling overloaded operator
bike.Specs();
return 0;
)

Joten, meillä on esine, jonka alkuperäiseksi korkeudeksi asetetaan 80 ja sitä lisätään 5: llä, kun kutsumme ++ -operaattoria sen yli.

lähtö:

Pyörän korkeus on: 80
Pyörän korkeus on: 85

C ++: n ylikuormitussäännöt

Alla on erilaiset C ++-ylikuormitussäännöt seuraavasti:

Säännöt toiminnon ylikuormitukselle

  • Toiminnon ylikuormituksen yhteydessä toiminnon on oltava erilainen tietotyypin, lukumäärän tai parametrijärjestyksen suhteen. Se ei voi erota pelkästään paluutapahtuman perusteella.

Säännöt käyttäjän ylikuormitukselle

  • Vain sisäänrakennetut operaattorit voidaan ylikuormittaa, uusia operaattoreita ei voi ylikuormittaa.
  • On neljä operaattoria, joita ei voi ylikuormittaa, nämä ovat . (jäsenen valinta), :: (laajuuden tarkkuus), . * (jäsenen valinta osoittimen avulla toimintoon) ja?: (kolmiosainen operaattori).
  • Ylikuormitettu operaattori sisältää ainakin yhden käyttäjän määrittämän tietotyypin operandin.
  • Joitakin operaattoreita ei voi ylikuormittaa ystävätoiminnon avulla, mutta ne voidaan ylikuormittaa jäsentoiminnona.

johtopäätös

Joten C ++: n ylikuormitus on ainutlaatuinen ominaisuus, joka tarjoaa meille useita etuja. Ylikuormitusta on pääasiassa kahta tyyppiä, ts. Toiminnan ylikuormitus ja käyttäjän ylikuormitus. Toimintojen ylikuormitus parantaa koodin luettavuutta, pitäen samalla saman nimen samalle toiminnolle. Operaattorien ylikuormitus mahdollistaa operaattorien nykyisen toiminnallisuuden uudelleenmäärittelyn antamalla heille erityisen merkityksen. Molemmat ovat erittäin hyödyllisiä C ++-ohjelmoinnissa.

Suositellut artikkelit

Tämä on opas ylikuormitukseen C ++: ssa. Tässä keskustellaan sen toiminnasta, säännöistä ja kahdesta ylikuormitustyypistä c ++: ssa eli toiminnan ylikuormituksesta ja käyttäjän ylikuormituksesta. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Ylikuormitus PHP: ssä
  2. Kopioi rakentaja C ++ -sovellukseen
  3. Ylikuormitus vs ohittaminen
  4. Vaihda lause C ++
  5. Ylikuormitus Java-sovelluksessa
  6. Pythonin ylikuormitus