error in c++ code

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SANGRAMGHUGE
    New Member
    • Oct 2011
    • 1

    error in c++ code

    Code:
    #include<iostream.h>
    #include<conio.h>
    class fraction
    {
          int num;
          int den;
          public:
                 fraction(int n,int d=1)
                 {
                              num=n;
                              den=d;
                 }
                 
                 fraction operator +(fraction temp);
                 fraction operator -(fraction temp);
                 fraction operator *(fracion temp);
                 fraction operator /(fraction temp);
                 fraction min(fraction temp);
                 void display(fraction temp);
                 
    }
    
    fraction fraction::operator +(fraction temp)
    {
             fraction hold;
             
             if(den==temp.den)
             {
                              hold.num=num+temp.num;
                              hold.den=den;
                              return hold;
             }
             else
             {
                 hold.num=num*temp.den+temp.num*den;
                 hold.den=den*temp.den;
                 hold=min(hold);
                 return hold;
             }
    }
    
    fraction fraction::operator -(fraction  temp)
    {
         
             fraction hold(10);
             
             if(den==temp.den)
             {
                              hold.num=num-temp.num;
                              hold.den=den;
                              return hold;
             }
             else
             {
                 hold.num=num*temp.den-temp.num*den;
                 hold.den=den*temp.den;
                 hold=min(hold);
                 return hold;
             }    
                              
    }
    
    fraction fraction::operator *(fraction  temp)   
    {
             fraction hold(10);
             hold.num=num*temp.num;
             hold.den=den*temp.den;
             hold=min(hold);
             return hold;
    }
    
    fraction fraction::operator /(fraction  temp)
    {
             fraction hold;
             hold.num=num/temp.num;
             hold.den=den/temp.den;
             hold=min(hold);
             return hold;
    }
          
    void fraction::display(fraction temp)
    {
         cout<<"\n "<<temp.num<<"/"<<temp.den<<"\n";
    }
    
    void fraction::min(fraction temp)
    {
         int i;
         for(i=temp.den;i>=2;i--)
         {
                            if((yemp.num%i==0)&&(temp.den%i==0))
                            {
                                                      temp.num=temp.num/i;
                                                      temp.den=temp.den/i;
                            } 
         }
    }                      
    
    int main()
    {
        fraction use;
        cout<<"enter num of fraction 1\n";
        cin>>num1;
        cout<<"enter den of fracion 1\n";
        cin>>den1;
        cin>>num2;
        cin>>den2;
        fraction f1(num1,den1);
        fraction f2(num2,den2);
        fraction temp;
        temp=f1+f2;
        use.display(temp);
        temp=f1-f2;
        use.display(temp);
        temp=f1*f2;
        use.display(temp);
        temp=f1/f2;
        use.display(temp);
        system("pause");
    }


    I AM GETTING AN ERROR AS "DECLARATIO N OF 'OPERATOR*' NON FUNCTION" WHILE THE OTHER OVERLOADED OPERATORS COMPILE SUCCESSFULLY.
    Last edited by Meetee; Oct 17 '11, 07:12 AM. Reason: code tags added
  • weaknessforcats
    Recognized Expert Expert
    • Mar 2007
    • 9214

    #2
    You are missing a semi-colon at the end of your class declaration.

    Comment

    Working...