In entry class
Code:
Entry::Entry(const Media& media, const Entertainment& entertainment)
{
	Entry entry;

	if (entry.isValid())
	{
		_media = entry.getMedia()->createCopy();
		_entertainment = entry.getEntertainment()->createCopy();
	}		
}

bool Entry::isValid() const
{	
	return _media != NULL && _entertainment != NULL;
}

bool Entry::operator ==(const Entry& obj) const
{
	if (getEntertainment()->getEntertainmentType() != obj.getEntertainment()->getEntertainmentType())
	{
		return false;
	}
	if (getMedia()->getMediaType() != obj.getMedia()->getMediaType())
	{
		return false;
	}
	if (getEntertainment()->getTitle() != obj.getEntertainment()->getTitle())
	{
		return false;
	}
	
	return true;
}

bool Entry::operator !=(const Entry& entry) const
{
	return !(*this==entry);
}