פורסם 2010 בינואר 2515 שנים מה שהבנתי סימנתי אשמח להסבר מה יהיה הפלט ולמה? #include <iostream.h> #include <string.h> class myThis { char s; static char d; public: myThis(char* a,int i) { if( i>=0 && i<strlen(a)) s=a[i]; //index of array stat from 0 else s='0'; d++; } myThis& och() // { s++; d++; return *this; //return obecjt } void print() { cout<<s<<" "<<d<<endl;} }; char myThis:='A'; //mythis-class ,d=misthna static void main() { char* h="Michlala"; // pointer to michlala myThis mt(h,2),mt1(h,2); // mt.och().och().print(); mt1.och().och().print(); mt.print(); }
פורסם 2010 בינואר 2515 שנים טוב , בעיקרון אתה צריך לשים לב שהמשתנה הסטטי שמאותחל ל A עולה כל פעם שקוראים לקונסטרקטור , כלומר פעמיים עבור mt ו mt1, כמו כן עבור כל אובייקט בניפרד השדה הפנימי s מאותחל לפי האינדקס שהוא מקבל - במקרה שלנו - c . קריאות ל och עבור mt יקדמו את mt.s ואת A פעמיים וכנ"ל עבור mt1.s ו A קריאה אחרונ ל mt.print פשוט תדפיס את mt.s הקיבלת בהתחלה עם המשתנה הסטאטי המעודכן.מקווה שעזרתי
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.