I'm trying to overload operator + on 2 Movies, and for some reason it always gets stuck when I try to get the code of them, a method which works for other classes so it probably has to do with the overloading.
I want to add a few movies together, and gather them all into a new Movie.
I found the problem was with operator =, not +, it gets stuck.. here is the code:
here is the main class trying to overload a few movies:

```
void MovieIndustry::addMoviesTogether() {
 Movie final,g;
                //moviesToAdd is a list of Movies.
   for (std::list<Movie>::iterator it2=moviesToAdd.begin(); it2 !=    
   moviesToAdd.end(); ++it2) lookfor movie
                {       
                        g =  final + (*it2);
                        final = g;
                }
   movies.push_back(final);
}

```

here are the relevant methods from Movie.cpp:

```
Movie& Movie:: operator+ (const Movie& other) {

Movie toReturn,toCheck;
   // I left its code empty because the problem was with operator =
return toReturn;

}     

 Movie::Movie() {

m_classifier = NULL;
workersInMovie.empty();
genresOfMovie.empty();
numOfWorkers=0;
numOfGenres=0;

// TODO Auto-generated constructor stub

}

Movie& Movie:: operator= (const Movie& other) {

cout << "inside ======" <<endl; //prints this one
Worker* toAdd = NULL;
Genre* addGenre;
code = other.getCode();    //loses it here
cout <<"finihed ==== "<< endl;  // it never gets to this line
return *this;
}

Movie::Movie(const Movie& toCopy) {

  cout << "inside copy" << endl;
 *this=toCopy;

 }

```

I really cant detect the problem, but i found its rather in = than in the + method, so maybe it has something to do with the addMoviesTogether method.
HELP..?