PDA

View Full Version : construction



iut.ali
دوشنبه 04 فروردین 1393, 00:07 صبح
با سلام میخواستم ببینم آوردن کلمه ی explicit در ابتدای constructor چه چیزی رو به کامبایلر میفهمونه ممنون

Azar.099
دوشنبه 04 فروردین 1393, 00:14 صبح
سلام
ببنید شما اگر مثلا constructor ای که نوشتین ورودی های int میگیره و شما توی برنامه اون کلاس را با ورودی char صدا زده باشید
خود کامپایلر این char را تبدیل به int میکنه و به constructor میفرسته .. بهش میگن تبدیل ضمنی .. و در این صورت برنامه شما ارور نمیده
اگر شما این کلمه explicit را قبل از constructor خودتون بنویسید دیگه این تبدیل صورت نمیگیره و برنامه بهتون ارور میده