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

我会感谢这个任务的一些初步指导,打印和读取函数应该包含什么(给定的参数除外)才能使用?上面的布尔运算符?我用谷歌搜索了几个小时,但找不到复数教程和我的任务之间的任何良好相关性,此外,我有截止日期,与我的老师联系有关这方面的问题需要几天时间。

4

1 回答 1

1

打印功能应在指示的输出流上显示数字。按照惯例,复数显示如下:1+2i或 this:(1+2i)甚至 this: (1,2)。您可以通过运算符链接来完成此操作:

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

lhs如果 的两个组件都等于它们的对应项,则相等性检查应返回 true rhs

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

read的详细信息将根据您的具体任务而有所不同。重新阅读你的作业,密切注意这些功能需要做什么的任何定义。operator<operator>

于 2012-12-12T21:17:07.403 回答