• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

Operator Overloading

Mehdi.T

کاربر فعال برنامه نویسی
کاربر فعال
تاریخ عضویت
30 سپتامبر 2005
نوشته‌ها
506
لایک‌ها
3
محل سکونت
In Search of Sunrise
سلام
کد و خروجی ؟ چه راهی رو پیشنهاد می کنید ؟
تشکر
کد:
class tst
{
	int x ;
	public:
		tst(int k=0):x(k) {}
		friend ostream & operator << (ostream &cout ,tst & t);
		friend istream & operator >>(istream & cin,tst &);
		tst operator++()
			{return tst(++x);}
		tst operator++(int)
			{return tst(x++);}

};
ostream& operator << (ostream &cout,tst &t)
	{cout << " " << t.x ;return cout ;}
istream & operator >>(istream & cin,tst &t)
	{cout << "\nEnter X : ";cin >> t.x;return cin;}
int main(int argc, char* argv[])
{
	tst obj1(2);
	obj1++;
	cout << (++obj1);
}
خروجی :
کد:
[C++ Error] ____.cpp(__): E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'tst'
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
پارامتر دوم رو برای operator<< ثابت تعریف کیند
کد:
class tst
{
	int x ;
	public:
		tst(int k=0):x(k) {}
		friend ostream & operator << (ostream &cout ,const tst & t);
		friend istream & operator >>(istream & cin,tst &);
		tst operator++()
			{return tst(++x);}
		tst operator++(int)
			{return tst(x++);}

};
ostream& operator << (ostream &cout,const tst &t)
	{cout << " " << t.x ;return cout ;}
istream & operator >>(istream & cin,tst &t)
	{cout << "\nEnter X : ";cin >> t.x;return cin;}
int main(int argc, char* argv[])
{
	tst obj1(2);
	obj1++;
	cout << (++obj1);
}
 

Mehdi.T

کاربر فعال برنامه نویسی
کاربر فعال
تاریخ عضویت
30 سپتامبر 2005
نوشته‌ها
506
لایک‌ها
3
محل سکونت
In Search of Sunrise
دستت درد نکنه
اگر لطف کني چراش رو هم بگي خيلي خوب ميشه ، چون از err msg که نميشد راهي پيدا کرد
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
دلیلش رو درست نمی دونم یعنی اصلا تا حالا نمی دونستم که اینجوری خطا می گیره
می پرسم اگه دلیلش رو فهمیدم بهتون می گم
 
بالا