Gaano karaming mga konstruktor ang maaaring magkaroon ng isang klase sa c?

Gaano karaming mga konstruktor ang maaaring magkaroon ng isang klase sa c?
Gaano karaming mga konstruktor ang maaaring magkaroon ng isang klase sa c?
Anonim

May maaaring higit sa isang constructor na tinukoy sa isang klase. Ito ay tinatawag na overloading ang constructor. Kadalasan mayroong isang constructor na walang mga parameter (wala sa loob ng mga panaklong kasunod ng pangalan ng constructor) tulad ng World constructor sa itaas. Tinatawag din itong no-argument constructor.

Ilang constructor ang maaaring umiral sa isang klase?

Mahigpit na pagsasalita, nililimitahan ng format ng classfile ng JVM ang bilang ng mga pamamaraan (kabilang ang lahat ng constructor) para sa isang klase sa mas mababa sa 65536. At ayon kay Tom Hawtin, ang epektibong limitasyon ay 65527. Ang bawat lagda ng pamamaraan ay sumasakop sa isang puwang sa palagiang pool.

Puwede bang magkaroon ng ilang constructor ang isang klase?

Ang pamamaraan ng pagkakaroon ng dalawa (o higit pang) constructor sa isang klase ay kilala bilang constructor overloading. Ang isang klase ay maaaring magkaroon ng maraming constructor na naiiba sa bilang at/o uri ng kanilang mga parameter. Gayunpaman, hindi posibleng magkaroon ng dalawang constructor na may eksaktong parehong mga parameter.

Maaari ba tayong magkaroon ng higit sa isang constructor sa isang klase sa C?

Sa C++, Maaari tayong magkaroon ng higit sa isang constructor sa isang klase na may parehong na pangalan, hangga't ang bawat isa ay may iba't ibang listahan ng mga argumento. Ang konseptong ito ay kilala bilang Constructor Overloading at medyo katulad ng function overloading.

Maaari ka bang tumawag ng constructor?

Pag-invoke ng constructor mula sa isang method

Hindi, hindi ka makakatawag ng constructormula sa isang paraan. Ang tanging lugar kung saan maaari kang mag-invoke ng mga constructor gamit ang "ito" o, "super" ay ang unang linya ng isa pang constructor. Kung susubukan mong mag-invoke ng mga constructor nang tahasan sa ibang lugar, bubuo ng error sa oras ng pag-compile.

Inirerekumendang: