یک سوال تخصصی ++C در مورد Operator overloading
سلام
من وقتی عملگر >>(cout) را دوباره تعریف میکنم و در قسمت نام object ورودی به تابع const نمیگذارم بعد از اینکه بخواهم object را به خروجی بدم در حالی که در جلوی یا در پشت object از عملگر ++ استفاده بکنم کامپایلر ارور میدهد ولی اگر در موقع object ورودی به تابع const بگذارم دیگر ارور نمیدهد
لطفا هر کسی میتواند دلیل این را بگوید
در ضمن عملگر ++ را هم برای جلوی object و هم برای پشت object مجددا تعریف کرده ام
ostream &operator<<(ostream &out,classname &obj) حالتی که ارور میدهد
ostream &operator<<(ostream &out,const classname &obj) حالتی که ارور نمیده