I need to overload operator[] in c++, but with checking what r-value is.
class polynomial
{
int n; //polynomial degree
double *a; //array of polynomial value
{...}
polynomial::polynomial (initializer_list<double> p)
{
n = p.size()-1;
a = new double[n+1];
copy(p.begin(), p.end(), a);
}
double& polynomial::operator [] (const int i)
{
return a[n-i];
}
}
main()
{
polynomial p = {1,2,3};
p[0]=0;
}
And i want throw exception if there is =0
after p[]
with index 0
.