ورود

View Full Version : Const در قسمت Prototype



JalaliMehr
جمعه 01 مرداد 1389, 17:15 عصر
وقتي تو قسمت interface يك كلاس يه Function تعريف ميشه و آخرش Const قرار ميگره اين معنيش چيه؟
يعني اينكه تو اون تابع از كلاس نميشه هيچ كدوم از فيلدها رو تغيير داد يا معني ديگري ميده.

PC2st
جمعه 01 مرداد 1389, 18:34 عصر
وقتي تو قسمت interface يك كلاس يه Function تعريف ميشه و آخرش Const قرار ميگره اين معنيش چيه؟
يعني اينكه تو اون تابع از كلاس نميشه هيچ كدوم از فيلدها رو تغيير داد يا معني ديگري ميده.
همین معنی را می‌دهد، همچنین در حالت دیگر:


class A
{
int o;
int dooo () const
{
return o;
}
int domp ()
{
o = 0;
return o;
}
};

و :


int main ()
{
A a;
const A const_a;
a.dooo ();
a.domp ();
const_a.dooo ();
const_a.domp (); //ERROR... will not compile
}

البته اگر متغیر o بصورت mutable تعریف شده باشد، در تابع dooo هم می‌توان آن را تغییر داد.