0

私は複素数でリストをリンクしているこの割り当てを取得しました。タスクは、リンクされたリストの助けを借りてこれらの数値を入力して出力することです。数年前、私は複素数の基礎を勉強しましたが、割り当ては今私にとって本当に混乱しており、どこから始めればよいかわかりません.与えられた情報は上記のものと次の.hファイルだけです:

#ifndef COMPLEX_H
#define COMPLEX_H
#include <iostream>
struct Complex
{
  int real, imag;
};
void read(Complex &, std::istream &);
void print(const Complex &, std::ostream & os=std::cout);
bool operator<(const Complex & lhs, const Complex & rhs);
bool operator>(const Complex & lhs, const Complex & rhs);
bool operator==(const Complex & lhs, const Complex & rhs);

#endif

この割り当てに関する最初のガイダンスに感謝します.printおよびread関数には、使用するために(指定された引数を除いて)何を含める必要がありますか?? 上記のブール演算子?私は数時間グーグルで検索しましたが、複素数のチュートリアルと私のタスクとの間に適切な関連性を見つけることができませんでした.

4

1 に答える 1

1

print 関数は、指定された出力ストリームに数値を表示する必要があります。通常、複素数は次のように表示され1+2iます。これは、演算子チェーンによって実現できます。(1+2i)(1,2)

os << "(" << c.real << "+" << c.imag << "i)";

lhsの両方のコンポーネントが の対応するコンポーネントと等しい場合、等価チェックは true を返す必要がありますrhs

return lhs.real == rhs.real && lhs.imag == rhs.imag;

readoperator<およびの詳細は、operator>正確な割り当てによって異なります。それらの機能が何をする必要があるかの定義に細心の注意を払いながら、割り当てを読み直してください。

于 2012-12-12T21:17:07.403 に答える