ABA


"צריך עזרה בקוד ב C++"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14159 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14159
lior066

   15:37   09.06.07   
אל הפורום  
  צריך עזרה בקוד ב C++  
 
   מה המצב אנשים , אז ככה יש לי את התוכנית ( התחלה של תוכנית לעבודה עם מטריקסים ) הבאה ויש לי בעייה עם ההשמה של הפונקצייה:

tree = two.AddRows(one,two);

כשאני עושה


Array tree(two.AddRows(one,two));

זה עובד לי

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

הנה הקוד מקור של התוכנית :


#include <iostream>
#include <assert.h>
using namespace std;


//Start OF Array Class -->
class Array{

private:
unsigned int size;
int *pInteger;

public:
//מאתחל את המחלקה
Array(){
size = 0;
pInteger = new int;
assert(*pInteger!=0);
};

//קופי קונסטרקטור
Array(const Array& CArray)
{
pInteger = new int(*(CArray.pInteger));
//assert(CArray.pInteger!=0);
size = CArray.size;
};

//הגדרת משתנה ריק עם מספר במערך
Array(int sizeofArray)
{
size = sizeofArray;
pInteger = new int;
assert(*pInteger!=0);
};

~Array()
{
delete this->pInteger;
};

Array AddRows(const Array& , const Array&);
void SetRows(int ,int);
void PrintRows();

int& operator (const int);//subscript operator
const int& operator (const int )const;//subscript operator

};

void Array::SetRows(int arr, int newsize)
{ // פונקצייה שמיישמת הצבה למשתנה
delete pInteger;
pInteger = new int;
size = newsize;
for (int i=0;i<size;i++)
*((pInteger)+i) = arr;
}
void Array::PrintRows()
{
int i;
for(i=0;i<size;i++)
cout << pInteger << "\n";
}

Array Array::AddRows(const Array &farray, const Array &sarray)
{ int i ;
if ( farray.size > sarray.size )
{
Array result(farray.size);
for (i=0;i<sarray.size;i++)
result = farray + sarray;

for (i=sarray.size;i<farray.size;i++)
result = farray;

for (i=0;i<6;i++)
cout << result << "\n" ;

return result;
}
else
{ Array result(farray.size);
return result;
}

return farray;
}


int& Array::operator (const int index)//left side
{
if(index>=0 && index < size)
return pInteger;
else
cerr<<"Out of boundary of array:"<<endl;
exit(1);
}
const int& Array::operator (const int index)const //rigth side
{
if(index>=0 && index <= size)
return pInteger;
else
cerr<<"Out of boundary of array:"<<endl;
exit(1);
}


int main()
{ int data;
data = 1;
data = 7;
data = 4;
data = 3;
data = 5;
data = 9;
Array one,two;

one.SetRows(data,6);
data = 3;
data = 6;
data = 1;
data = 8;
two.SetRows(data,4);
//tree = two.AddRows(one,two); <=- לא עובד לי!
Array tree(two.AddRows(one,two));
//tree.PrintRows();
}


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא משנה לא שמתי לב שאין לי אופורטור = ... אבל.. lior066 09.06.07 15:40 1

       
lior066

   15:40   09.06.07   
אל הפורום  
  1. לא משנה לא שמתי לב שאין לי אופורטור = ... אבל..  
בתגובה להודעה מספר 0
 
   אם אתם מוצאים איזה משהו מוזר עדיין תגידו לי , תודה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net