LINUX.ORG.RU

Перегруженный оператор


0

0

Написал класс для работы с комплексными числами. Перегрузил оператор "/". Выглядит это примерно так:

class CComplex { private: double m_dReal; double m_dImg;

public:

//------------------------------------- // / operator //------------------------------------- CComplex operator/(double dI) { CComplex cCmplx;

cCmplx.Real(m_dReal / dI); cCmplx.Img( m_dImg / dI); return cCmplx; }

//------------------------------------- // / operator //------------------------------------- CComplex operator/(CComplex& cCmplx) { double dReal; double dImg; double dMod=cCmplx.Real()*cCmplx.Real() + cCmplx.Img()*cCmplx.Img();

dReal = (m_dReal*cCmplx.Real() + m_dImg*cCmplx.Img())/dMod; dImg = (cCmplx.Real()*m_dImg - m_dReal*cCmplx.Img())/dMod; CComplex cCmplx1(dReal, dImg); return cCmplx1; } };

Теперь могу делить комплексное число на комплексное число, и комплексное число на переменную.

Но не знаю, что надо сделать, чтоб разделить число на комплексное число. Т.е. что сделать, чтоб заработало:

CComplex c1, c2;

c1 = 1/c2;

????

Спасибо

хрено выглядит, даже смотреть не стал

aton
()
Ответ на: комментарий от k_andy

Или определить соответствующий констуктор -- CComplex(double r) { //this(r, 0) } --

phoenix ★★★★
()
Ответ на: комментарий от anonymous

> c++ гавно
Вызывающе неверная информация!
"C++" и "говно" обозначают совершенно разные понятия.
К тому же написано с синтаксической ошибкой (не хватает тире).

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

> К тому же написано с синтаксической ошибкой

это на форте написано. cлово с++ ложит с++ в расслабленной позиции на стек. слово гавно (императивность этого слова особо подчеркивает слог ГАВ) смешивает то что подвернулось на вершине стека с гавном.

Gagarin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.