Hey all,

I’m just wondering if anyone managed to solve the topic in chapter 8 on the advanced course. After some work, I managed to get the, ahem, ‘basic’ one to work

The basic example is to be able to add an integer to a custom class (in this video, length) such as;

``````Length third = first + 4;
``````

Mosh says to create a new overload taking an integer as the parameter. I found this really difficult
I tried declaration;

``````	Length operator+(const int other) const;
``````

with a definition of

``````Length Length::operator+(const int other) const
{
return int(value);
}

``````

but of course, we can’t do that as 'no suitable constructor exists to convert in to Length. So then I tried

``````Length Length::operator+(const int other) const
{
return Length((int (value)));
}

``````

but this doesn’t reference the other value so for

``````Length first{ 10 };
Length second{ 20 };
int four = 4;

Length third = first + 4;
cout << third;

``````

I finally tried

``````Length Length::operator+(const int other) const
{
return Length((int (value))+ other);
}

``````

and this works!!

But I really can’t get past the excercise and I dn’t really understand the question. I think we have to add Point(x,y) to a second Point(x,y) as well as the integers? (I think?)

Anyway, I tried, but could not get my head around this, with using 2 parameters. All of my trials were a disaster, so there’s no point in me even posting them. I was hoping someone who completed this exercise would be able to share the solution?