我在分配带有复数的链表的地方得到了这份作业,任务是在链表的帮助下输入并打印这些数字。几年前,我研究了复数的基础知识,但现在的分配确实让我感到困惑,而且我不知道从哪里开始,唯一给定的信息是上面的信息以及以下的.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


我会很感谢这次分配的一些初步指导,为了使用,印刷和阅读功能应包含哪些内容(给定参数除外)?布尔运算符以上?我搜索了几个小时,但是在复数教程和我的任务之间找不到任何很好的关联性,此外,我还有这个截止日期,如果有任何疑问,请与我的老师联系需要几天的时间。

最佳答案

打印功能应在指示的输出流上显示编号。按照惯例,复数显示如下:1+2i或以下:(1+2i)或什至:(1,2)。您可以通过运算符链接来实现此目的:

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


如果lhs的两个部分都等于rhs中的对应部分,则相等性检查应返回true:

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


readoperator<operator>的详细信息将根据您的确切分配而有所不同。重新阅读您的作业,密切注意那些功能需要做什么的定义。

关于c++ - 复数和链表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13848694/

10-11 23:05
查看更多