۱۴-اردیبهشت-۱۳۸۸, ۰۹:۱۹:۲۶
سلام!
این کد رو ببینین
با اون دوتا اپراتور که تعریف کردم مشکل دارم. همینطوری این کد کار میکنه و هیچ مشکلی نداره. یعنی اگه ++ و - قبل اسم شی بیاد.
ولی من فکر می کنم این دوتا باید بعد شی بیان. اگه ++ رو بعد شی بیارم warning میده ولی برنامه درست کار می کنه! اگه تو تعریف اپراتور کلاس توی پرانتز یه int بذارم مشکل حل میشه و warning نمیده.
ولی برای اپراتور - اگه بیارمش جلوی شی error میده ! با اون int هم درست نمیشه !
یکی به من بگه قضیه چیه ! این چه وضعیه دیگه !!
چرا اون ++ باید قبل شی باشه ؟! درحالی که friend تعریف نشده و باید بعد اسم شی بیاد!
چرا با اون int درست میشه ؟!
- با ++ چه فرقی می کنه که همه چی عوض میشه؟! جالبه که -- مثل ++ . . . تعریف دوتایی اپراتور با یکی فرقی می کنه ! چی شد !
این کد رو ببینین
کد:
#include <iostream>
using namespace std;
class num
{
protected:
int value;
public:
num (int nval = 0)
{
value = nval;
}
int getvalue()
{
return value;
}
void operator ++()
{
value = value + 1;
}
void operator -()
{
value = value - 1;
}
};
int main()
{
num n(6);
++n;
//n++;
-n;
//n-;
cout << n.getvalue() << endl;
return 0;
}
ولی من فکر می کنم این دوتا باید بعد شی بیان. اگه ++ رو بعد شی بیارم warning میده ولی برنامه درست کار می کنه! اگه تو تعریف اپراتور کلاس توی پرانتز یه int بذارم مشکل حل میشه و warning نمیده.
کد:
void operator ++(int)
{
value = value + 1;
}
یکی به من بگه قضیه چیه ! این چه وضعیه دیگه !!
چرا اون ++ باید قبل شی باشه ؟! درحالی که friend تعریف نشده و باید بعد اسم شی بیاد!
چرا با اون int درست میشه ؟!
- با ++ چه فرقی می کنه که همه چی عوض میشه؟! جالبه که -- مثل ++ . . . تعریف دوتایی اپراتور با یکی فرقی می کنه ! چی شد !