PDA

View Full Version : سوال: کلاس در c++



melina310
یک شنبه 11 اسفند 1387, 20:19 عصر
با عرض سلام .
من در بکارگیری کلاس دچار اشکال هستم .
تمرینی هست که خواسته کلاسی نوشته بشه بنام complex که قادر به کار با مقادیر مختلط باشد realpart + imaginarypart * i که در ان i برابر با رادیکال 1- است .
و حالا خواسته تا یک تابع public در نظر گرفته شود تا دو عدد complex را جمع کند : بخش حقیقی با یکدیگر و بخش های موهومی با یکدیگر جمع شوند .
اولا من نمیدانم i را چطور تعریف کنم .
ثانیا چطور تابع جمع را بنویسم .
کلاسی رو که نوشتم اینه . اگه ممکنه اون رو کامل و اشکالاتم رو بگین .
ممنون میشم .


class complex
{

public:
complex(double r, double m,double b)
{
setinformation(r,m,b);
}
void setinformation(double r, double m,double b)
{
setreal(r);
setimaginary(m);
seti(b);
}
void setreal()
{
realpart=r;
}
void setimaginary()
{
imaginarypart=m;
}
void seti()
{
i=b;
}
double getreal()
{
return realpart;
}
double getimaginary()
{
return imaginarypart;
}
double geti()
{
return i;
}
double add();


private:
double realpart;
double imaginarypart;
double i;
};

metadata-2010
سه شنبه 11 فروردین 1388, 11:09 صبح
با سلام ،
اميدوارم اين قطعه كد مختصر برات مفيد باشه و ازش ايده بگيري .
i كه تغيير نمي كند و مقدارش در تمام اعداد مختلط ثابت است پس نيازي نيست كه بعنوان پارامتر ورودي به تابع ارسال شود .
#
class complex
{

public:
complex ();
complex(double , double );

complex sum(complex);
void print();



private:
double realpart;
double imaginarypart;

};

int main()
{
complex m(1,2),c(3.2,5);
complex a=m.sum(c);
a.print();
return 0;
}


complex::complex(double r, double m)
{
realpart=r;
imaginarypart=m;
}
complex::complex()
{
realpart=0;
imaginarypart=0;
}
complex complex::sum(complex x)
{
complex z;
z.realpart=realpart+x.realpart;
z.imaginarypart=imaginarypart+x.imaginarypart;
return z;
}
void complex::print()
{
cout<<realpart<<"+"<<imaginarypart<<"i"<<endl;
}

#

metadata-2010
سه شنبه 11 فروردین 1388, 11:41 صبح
با سلام ،
اميدوارم اين قطعه كد مختصر برات مفيد باشه و ازش ايده بگيري .
i كه تغيير نمي كند و مقدارش در تمام اعداد مختلط ثابت است پس نيازي نيست كه بعنوان پارامتر ورودي به تابع ارسال شود .
#
class complex
{

public:
complex ();
complex(double , double );

complex sum(complex);
void print();



private:
double realpart;
double imaginarypart;

};

int main()
{
complex m(1,2),c(3.2,5);
complex a=m.sum(c);
a.print();
return 0;
}


complex::complex(double r, double m)
{
realpart=r;
imaginarypart=m;
}
complex::complex()
{
realpart=0;
imaginarypart=0;
}
complex complex::sum(complex x)
{
complex z;
z.realpart=realpart+x.realpart;
z.imaginarypart=imaginarypart+x.imaginarypart;
return z;
}
void complex::print()
{
cout<<realpart<<"+"<<imaginarypart<<"i"<<endl;
}

#