Hər sinifdə standart C++ konstruktoru varmı?
Hər sinifdə standart C++ konstruktoru varmı?

Video: Hər sinifdə standart C++ konstruktoru varmı?

Video: Hər sinifdə standart C++ konstruktoru varmı?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Mart
Anonim

Defolt konstruktorlar ( C++ yalnız)

A standart konstruktordur a konstruktor o da var heç bir parametr yoxdur və ya əgər varsa var parametrlər, hamısı parametrlər default var dəyərlər. İstifadəçi tərəfindən müəyyən edilməmişsə konstruktor üçün mövcuddur sinif A və bir edir lazım olduqda, kompilyator dolayısı ilə a elan edir default parametrsiz konstruktor A::A().

Eynilə, sizə standart konstruktor C++ lazımdırmı?

Kompilyator gizli şəkildə elan edəcək standart konstruktor proqramçı tərəfindən təmin edilmədikdə, daxil olduqda onu müəyyən edəcəkdir ehtiyac . Kompilyator müəyyən edilmişdir standart konstruktor edir tələb olunur üçün et sinif daxili elementlərinin müəyyən inisializasiyası. Kompilyator zəng etmək üçün kod daxil etməlidir standart konstruktorlar baza sinfinin/yerləşdirilmiş obyektin.

Həmçinin bilin ki, bir sinifdə C++ konstruktoru ola bilməzmi? Əgər sənin sinifin konstruktoru yoxdur , C++ olacaq avtomatik olaraq ictimai defolt yaradır konstruktor sənin üçün. Buna bəzən gizli deyilir konstruktor (və ya dolayısı ilə yaradılmışdır konstruktor ).

Biri də soruşa bilər ki, hər sinifin standart konstruktoru varmı?

Bəli hamısı siniflər java-da yaratdığımız şey ortaya çıxır standart konstruktor parametrləri olmayan. Ancaq parametrli bir yaratdıqca konstruktor ki default konstruktor əldə edin çıxarıldı.

C++-da standart konstruktoru necə çağırırsınız?

Konstruktor sinfin özü ilə eyni ada malikdir. Konstruktorlar qaytarma növü yoxdur. A konstruktor obyekt yaradıldıqda avtomatik olaraq çağırılır. Əgər müəyyən etməsək a konstruktor , C++ kompilyator a yaradır standart konstruktor bizim üçün (heç bir parametr gözləmir və boş bədənə malikdir).