Care este diferența dintre funcția virtuală și suprascrierea funcției?
Care este diferența dintre funcția virtuală și suprascrierea funcției?

Video: Care este diferența dintre funcția virtuală și suprascrierea funcției?

Video: Care este diferența dintre funcția virtuală și suprascrierea funcției?
Video: Am descoperit supraîncărcarea și suprascrierea 2024, Mai
Anonim

Funcții virtuale nu poate fi static și nici nu poate fi prieten funcţie de altă clasă. Ele sunt întotdeauna definite în clasa de bază și depășit în clasa derivată. Nu este obligatoriu pentru clasa derivată să trece peste (sau redefiniți functie virtuala ), în acest caz versiunea clasei de bază a funcţie este folosit.

În plus, care este diferența dintre funcția virtuală și funcția virtuală pură?

Principalul diferență între ' funcție virtuală” și „funcție virtuală pură” .' este asta ' functie virtuala ' are definiția sa în clasa de bază și, de asemenea, clasele derivate care moștenesc o redefinesc. The funcție virtuală pură nu are definitie în clasa de bază și toate clasele derivate care moștenesc trebuie să o redefinească.

Ulterior, întrebarea este, ce este suprascrierea funcției în C++? Suprascrierea funcției C++ . Dacă clasa derivată definește același lucru funcţie așa cum este definit în clasa sa de bază, este cunoscut ca depășirea funcției în C++. Este folosit pentru a realiza polimorfismul de rulare. Vă permite să oferiți implementare specifică a funcţie care este deja furnizat de clasa sa de bază.

La fel, oamenii se întreabă, de ce folosim funcții virtuale?

Funcții virtuale sunt folosit pentru a susține „Polimorfismul timpului de rulare”. Cand functie virtuala este apelat folosind un Pointer de clasă de bază, compilatorul decide la Runtime ce versiune a funcţie adică versiunea clasei de bază sau versiunea clasa derivată înlocuită trebuie apelată. Acesta se numește polimorfism în timp de rulare.

Puteți suprascrie o funcție non virtuală în C++?

În c++, toți membrii clasei funcții sunt non - virtual în mod implicit. ei poate sa fi făcută virtual prin folosirea virtual cuvânt cheie în funcţie semnătură. După cum sa spus mai sus dacă cel funcţie de clasa de bază se face virtual apoi cel funcţie de clasa Derivată sau Copil funcţie cu acelasi nume poate trece peste ale clasei de bază funcţie.

Recomandat: