A ka çdo klasë një konstruktor të paracaktuar C++?
A ka çdo klasë një konstruktor të paracaktuar C++?

Video: A ka çdo klasë një konstruktor të paracaktuar C++?

Video: A ka çdo klasë një konstruktor të paracaktuar C++?
Video: Gjuha Shqipe . Aleksandri i madh ka folur Shqip. Muret Pellazgjike 2024, Prill
Anonim

Konstruktorët e parazgjedhur ( C++ vetëm)

A konstruktori i paracaktuar është a konstruktor atë ose ka nuk ka parametra, ose nëse ajo ka parametrat, të gjitha parametrat kanë default vlerat. Nëse nuk është përcaktuar nga përdoruesi konstruktor ekziston për një klasës Një dhe një është nevojiten, përpiluesi deklaron në mënyrë implicite a default pa parametra konstruktor A::A().

Në mënyrë të ngjashme, a keni nevojë për një konstruktor të paracaktuar C++?

Përpiluesi do të deklarojë në mënyrë implicite konstruktor i paracaktuar nëse nuk ofrohet nga programuesi, do ta përcaktojë atë kur të jetë në nevojë . Përpiluesi është përcaktuar konstruktor i paracaktuar është kërkohet te bëj inicializimi i caktuar i brendësisë së klasës. Përpiluesi duhet të fusë kodin për të thirrur konstruktorët e paracaktuar e klasës bazë/objektit të ngulitur.

Gjithashtu e dini, a mundet një klasë të mos ketë konstruktor C++? Nese e jotja klasa nuk ka konstruktorë , C++ do gjeneron automatikisht një parazgjedhje publike konstruktor për ty. Kjo nganjëherë quhet e nënkuptuar konstruktor (ose të krijuara në mënyrë implicite konstruktor ).

Dikush mund të pyesë gjithashtu, a ka çdo klasë një konstruktor të paracaktuar?

Po të gjitha klasat që ne krijojmë në java vjen me konstruktor i paracaktuar pa parametra. Por sapo të krijojmë një të parametrizuar konstruktor se konstruktori i paracaktuar merrni hequr.

Si të thërrisni një konstruktor të paracaktuar në C++?

Konstruktor ka të njëjtin emër si vetë klasa. Konstruktorët nuk kanë lloj kthimi. A konstruktor thirret automatikisht kur krijohet një objekt. Nëse nuk specifikojmë a konstruktor , C++ përpiluesi gjeneron a konstruktor i paracaktuar për ne (nuk pret parametra dhe ka një trup bosh).