In this program my operator+ first creates a Meal with the default constructor. The default constructor makes exam.entree equal "Pizza" and exam.calorie equal 25. Then exam.calorie is set to the sum of calories.

I need to define an operator= so the computer will simply copy all members from the source object to the destination object (total).

However I can not figure out how to put this in my program. Can anyone help me create an assignment operator for Meal which only copies the calorie member and not the entree member?

Code:
#include<iostream.h>
#include<conio.h>
#include<string.h>

class Meal
{
	friend ostream& operator<<(ostream &out, const Meal &aMeal);
	friend istream& operator>>(istream &in, Meal &aMeal);
private:
	char *entree;
	int calorie;
public:
	Meal(char *ent = "Pizza ", int cal = 25);
	Meal operator+(Meal &aMeal);
	void operator=(Meal &otherMeal);//is this right?
	void displayMeal();
};

Meal::Meal(char *ent, int cal )
{
	strcpy(entree,ent);
	calorie = cal;
};


Meal Meal::operator+(Meal &aMeal)
{
	Meal exam;
	exam.calorie = calorie + aMeal.calorie;
	return(exam);
};

void Meal::operator = (Meal &otherMeal)
{
	//if so, what here?
};

void Meal::displayMeal()
{
	cout<<"The entree: "<<entree<<"has"<<calorie<< " calories."<<endl;
};

ostream& operator<<(ostream &out, const Meal &aMeal)
{
	out<<aMeal.entree<<aMeal.calorie<<" calories "<<endl;
	return(out);
};

istream& operator>>(istream &in, Meal &aMeal)
{
	cout<<endl; //clears
	cout<<"Enter the entree name: ";
	in>>aMeal.entree;
	cout<<"Enter the amount of calories: ";
	in>>aMeal.calorie;	
	return(in);
};

void main()
{
	Meal breakfast("Bagel ", 100);
	Meal lunch("Hamburger ", 325);
	Meal dinner("Steak ", 350);
	Meal total("Daily Total: ", 0);
	total = breakfast + lunch + dinner;
	cout<<"Breakfast: "<<breakfast<<endl;
	cout<<"Lunch: "<<lunch<<endl;
	cout<<"Dinner: "<<dinner<<endl;
	cout<<total<<endl;
	getch();
};