עבור לתוכן

יש לי תרגיל שאני צריך לדעת מה הפלט והסתבכתי אשמח לעזרתכם

Featured Replies

פורסם

מה שהבנתי סימנתי אשמח להסבר מה יהיה הפלט ולמה?

#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();

}



פורסם

טוב , בעיקרון אתה צריך לשים לב שהמשתנה הסטטי שמאותחל ל A עולה כל פעם שקוראים לקונסטרקטור , כלומר פעמיים עבור mt ו mt1, כמו כן עבור כל אובייקט בניפרד השדה הפנימי s מאותחל לפי האינדקס שהוא מקבל - במקרה שלנו - c .

קריאות ל och עבור mt יקדמו את mt.s ואת A פעמיים וכנ"ל עבור mt1.s ו A

קריאה אחרונ ל mt.print פשוט תדפיס את mt.s הקיבלת בהתחלה עם המשתנה הסטאטי המעודכן.

מקווה שעזרתי

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים