Hi,
Im having trouble figuring out how to do *= for complex numbers, heres part of my program:

// HW5.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <cmath>

using namespace std;

class Complex {
public:
Complex() {}

Complex (double R, double I) {
a = R;
b = I;
}

Complex (double R) {
a = R;
b = 0;
}

double magnitude(){
return (sqrt(a*a + b*b)) ;
}

private:
double a;
double b;

friend istream& operator >> (istream& i, Complex& C){
char c,d,e,f;
i >> c >> C.a >> d;
if (d == ')'){
C.b = 0;
}
else {
i >> C.b >> e >> f;
if (d == ' - ')
C.b = -C.b;
}
return i;
}

friend ostream& operator << (ostream& o, Complex& C){
o << " ( " << C.a;
if (fabs(C.b) < 0.005)
o << " ) ";
else if (C.b > 0)
o << " + " << C.b << "i)";
else
o << " - " << fabs(C.b) <<"i)" ;
return o;
}

friend Complex operator*(Complex& v1, Complex& v2) {
return Complex(((v1.a*v2.a)-(v1.b*v2.b))+((v1.a*v2.b)+(v1.b*v2.b)));
}

friend Complex operator*=(Complex& v1,Complex& v2);

};


int _tmain(int argc, _TCHAR* argv[])
{

return 0;
}


help