PDA

View Full Version : سرباگذاری عملگر <<



alenturing
پنج شنبه 09 فروردین 1386, 18:21 عصر
چه طور می توان عملگر<<(مربوط به تابع cin ) را از نوع سربارگذاری کرد به طوری که بتوان به وسیله ی آن عددی را گرفت و آن را به یک ارایه یا هر چیز دیگری نسبت داد مثلا":

class Intset{
...
};

main()
{

Intset s;
s>>2;
...
}

american_iran2006
پنج شنبه 09 فروردین 1386, 18:33 عصر
سلام ::

#include<iostream>
using namespace std;
int main(){
char a[20];
cout <<"Enter Your String"<<"\n";
cin >>a;
cout <<"\n"<<a;
return 0;
}
به خاطره این که سورس رو درست ببینی تو محیط editore کامپایلرت کپی کن

Smart User
پنج شنبه 09 فروردین 1386, 19:16 عصر
#include<iostream>
using namespace std;
int main(){
char a[20];
cout <<"Enter Your String"<<"\n";
cin >>a;
cout <<"\n"<<a;
return 0;
}

این که سربارگزاری نیست. دستوزات خود c++ است. در ضمن دوستمون برای گرفتن اعداد سوال پرسید نه گرفتن رشته. :چشمک:


این کد برای struct هاست.




#include<iostream.h>
struct SS
{
int a;
char b[10];
}s;

int operator <<( SS &ts, int i )
{
ts.a = i;
return i;
}

void main()
{
s<<3;
cout<<s.a;
}



البته سربازگزاری چند تا نکته داره در مورد استفاده از آرایه ها و حافظه پویا که تو کتاب جعفرنژاد می تونی پیدا کنی

melomane
جمعه 10 فروردین 1386, 13:09 عصر
اول از همه اینکه سوال شما یکمی مبهم هست. شما با cin می خواین یه عددی رو بگیرین که مقدار یک خونه ی آرایه رو به اون مقدار تغییر بده. پس شما باید ایندکس رو هم داشته باشین. یعنی اون رو هم از کاربر بگیرین. که در این صورت نیازی به overload کردن اوپراتور نیست. مگر اینکه منظور دیگه ای داشته باشین که من متوجه نشدم.
اما در حالت کلی میشه یه چیزی مثل این رو برای overload کردن << گفت:


#include <iostream<
using std::istream;
const int num 20;
class yourDesiredName
{
friend istream &operator>>(istream &, yourDesiredName &);
private:
int array[num];
};

----------------------------------------------------
istream &operator>>(istream &input, yourDesiredName &object);
{
input>>....;
return input;
}
----------------------------------------------------
دوست عزیزمون برای << گفتن. smart user عزیز شما برای >> گفتین و البته بهتره از struct استفاده نکین و یا data member ها رو public تعریف نکین.

american_iran2006
جمعه 10 فروردین 1386, 19:14 عصر
در ضمن دوستمون برای گرفتن اعداد سوال پرسید نه گرفتن رشته. :چشمک:

این جوری گیر بدی همین بلا سرت میاد:لبخند:


دوست عزیزمون برای << گفتن. smart user عزیز شما برای >> گفتین
حالا ما یه بار اشتباهی خوندی ما:بامزه: تازه حالا یه رشته رو عدد کردن کاری داره

Smart User
چهارشنبه 15 فروردین 1386, 22:02 عصر
این جوری گیر بدی همین بلا سرت میاد

شاید:بامزه: ...
ولی جواب من تو ورودی ها مشکل داشت:لبخند: نه تو ماهیت جواب :چشمک: .
ولی به هرحال ما همه اینجاییم تا همین مشکلاتمون رو مطرح کنیم و چیزای جدید یاد گیریم.
از توجه شما هم ممنون


تابع رو اشتباهی کپی کردم..
برای cin هم کاری نداره فقط جای ورودی های تابع باید عوض بشه