复数和链表

Complex numbers and linked list

本文关键字:链表      更新时间:2023-10-16

我得到了这个作业,我有复数链表,任务是在链表的帮助下输入和打印这些数字。几年前,我学习了复数的基础知识,但现在作业对我来说真的很困惑,我不知道从哪里开始,唯一给出的信息是上面的信息和下面的.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>的详细信息将根据您的确切任务而有所不同。重新阅读你的作业,密切关注这些函数需要做什么的任何定义。