複素数を戻り値にとる関数

何つーかeみたいなのを関数にしたいんですけど、これって出来るのだろうか?
確かC++では複素数は構造体として扱われたと思うんだけど、複素数を戻り値に取る場合は、complexとかで良いのかは甚だ疑問が残る所。なので、ちょっと調べてみる。っつーかこの手の複素数使いたいっていうのもFortran使ってればあんまし気にしないで行けるのだろうなあ。あーあ何かコンピュータ言語ってどれも一長一短ですね。
Cは簡単だけど、数値計算にはあんまし向かないし、Fortran数値計算には強いけど、ファイル操作が微妙。C++はちょっと規模がでかすぎ。そもそも僕がやる数値計算ごときにオブジェクト指向なプログラミングなんて不要な訳で。大規模なシミュレーションをする訳でもないし。それに本当は使い慣れたCを使いたい所ではあるけど。
あと複素数の絶対値を求める関数は、abs(z)かnorm(z)らしい。そして、double型の複素数zを定義して、それの実部はz.rael()で、虚部はz.imag()らしい。
っつーか俺ら普通に複素数の計算してるけど、実はすげー複雑なことしてるんですね。算数って凄いですね。
C++では開業はendlなんですが、タブ文字が良く分からないんで、"?t"を入れてやってます。なんかあんまし格好よくないなあ。まあ空白x文字あける変数だかなんだかを割り当てるとどうのとかいうのを見つけたんだけど、面倒臭いから"?t"で行きますよ。