وبلاگ من

شرح:

این برنامه شامل تابع سازنده و سربارگذاری عملگر های >> ، << ، + ، -  ، * ، =، () و [] روی کلاس polynomial است. به علاوه یک تابع (analys) برای خواندن string و تبدیل آن به term ها دارد. هر چند جمله ای از چند شی از کلاس term تشکیل می شود.

 

کلاس polynomial:

شامل یک آرایه به طول 20 از کلاس term است. متغییر count شمارنده سلول های پرشده است(با پر شدن هر خانه(سلول) یک واحد به مقدار آن اضافه می شود)

class polynomial
{
private:
	term cell[20];
	int count;
	//add similar value to each other
	void clear();
	//this function convert string math expersion to numbercial cell's value
	void analys(string exp);
	void insert(int fact,int pow);
protected:
        int power(int num,int pow);

public:
        //contractors
        polynomial(){count=0;}; //Null
        polynomial(string exp){count=0;analys(exp);}; //by Value
        polynomial (polynomial &A){count=0;for(int i=0;i<20;i++){cell[i].fact=A.cell[i].fact;cell[i].pow=A.cell[i].pow;}} //by Copy

        //function
        void show();
        void set(string exp);

        //operator overloading
        polynomial operator *(polynomial temp);
        polynomial operator -(polynomial temp);
        polynomial operator =(polynomial temp);
        int operator ()(int input);
        term operator [](int input);
        friend ostream& operator << (ostream &out, polynomial temp);
        friend istream& operator >> (istream &in, polynomial &temp);

};

 

کلاس term:

در یک چند جمله ای هر جمله مثلا به صورت 3x^2 یک term می باشد. در این مثال fact=3 و pow=2 است.

class term
{
	friend class polynomial;
private:
	int fact;
	int pow;
public:
	term(){ fact = 0; pow = 0; } //contractor (null)
	term(int x,int y){fact = x; pow = y;} //contractor (value)
	term (term &A){fact = A.fact; pow = A.pow;} //contractor (copy)

	//function
	void show();

	//operator overloading
	friend ostream& operator << (ostream &out, term t);
};

 

برای مشاهده برنامه کلیک کنید.

 

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی