I keep receiving this error when trying to overload the * operator to multiply an object by an integer:

" error C2677: binary '*' : no global operator defined which takes type 'class percent' (or there is no acceptable conversion)"

Here is my code:

Any ideas on how to fix?Code:`#include <iostream>`

class percent

{

private:

int whole;

int decimal;

public:

percent();

percent(float z);

int getwhole(void);

int getdecimal(void);

void setwhole(int z);

void setdecimal(int z);

float getpercent(void) const;

void percent::setpercent(float z);

void print(void);

percent operator+(const percent& z) const; //e = f + g;

percent operator-(const percent& z) const; //e = f - g;

percent operator*(const percent& z) const; //e = f * g;

percent operator/(const percent& z) const; //e = f / g;

percent operator*(int z) const; //c = a * f;

friend std::ostream& operator<<(std::ostream& y, const percent& z);

friend std::istream& operator>>(std::istream& y, percent& z);

//c = a / f;

//c = c * f;

//c = c / f;

//c = f * a;

//c = a / f;

//c = f * c;

//c = f / c;

//e = f;

//e++;

//++e;

//e--;

//--e;

//if (e == f)

//if (e != f)

//if (e > f)

//if (e >= f)

//if (e < f)

//if (e <= f)

//cin >> e;

//cout << e;

};

using namespace std;

percent::percent()

{

whole = 0;

decimal = 0;

}

percent::percent(float z)

{

whole = z;

decimal = (z - whole) * 100;

}

int percent::getwhole(void)

{

return whole;

}

int percent::getdecimal(void)

{

return decimal;

}

void percent::setwhole(int z)

{

whole = z;

}

void percent::setdecimal(int z)

{

while (z >= 100)

{

z = z - 100;

whole++;

}

decimal = z;

}

float percent::getpercent(void) const

{

return whole + (decimal) / (100.0);

}

void percent::setpercent(float z)

{

whole = z;

decimal = (z - whole) * 100;

}

void percent::print(void)

{

cout << "Whole: " << whole << endl;

cout << "Decimal " << decimal << endl;

}

percent percent::operator+(const percent& z) const

{

percent temp;

temp.setwhole(whole + z.whole);

temp.setdecimal(decimal + z.decimal);

return temp;

}

percent percent::operator-(const percent& z) const

{

float a, b, c;

percent temp;

a = getpercent();

b = z.getpercent();

c = a - b;

temp.setpercent(c);

return temp;

}

percent percent::operator*(const percent& z) const

{

float a, b, c;

percent temp;

a = getpercent();

b = z.getpercent();

c = a * b;

temp.setpercent(c);

return temp;

}

percent percent::operator/(const percent& z) const

{

float a, b, c;

percent temp;

a = getpercent();

b = z.getpercent();

c = a / b;

temp.setpercent(c);

return temp;

}

percent percent::operator*(int z) const

{

float a, b;

percent temp;

a = getpercent();

b = a * z;

temp.setpercent(b);

return temp;

}

ostream& operator<<(ostream& y, const percent& z)

{

y << z.whole << "." << z.decimal << "%";

return y;

};

istream& operator>>(istream& y, percent& z)

{

float temp;

y >> temp;

z.setpercent(temp);

return y;

};

int main()

{

int a = 0, b = 0;

float c = 0, d = 0;

percent f(6);

percent e(20);

percent g(5);

//e.print();

c = a * f;

cout << c << endl;

return 0;

}

Thanks.