2012-12-12 31 views
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 

我會爲這次作業感謝一些初步指導,打印和讀取函數應該包含什麼(除了給定的參數)才能使用?上面的布爾運算符?我搜索了幾個小時,但找不到複雜的數字教程和我的任務之間的任何好關聯,此外,我有這個截止日期,並與我的老師聯繫,有關此問題將需要幾天。

+0

使用int而不是double來定義一個排序關係的複雜類型似乎很奇怪......但是,read函數只會讀取兩個「int」,並在成功時設置相應的字段。打印功能只會打印成員。你的問題到底是什麼? –

+0

好吧,這只是令人困惑的男人,但感謝您的指導,我會盡力實施它 – EmilDo

+0

根據給定的定義/定義,我沒有看到鏈表如何進入這個任務。 – phonetagger

回答

1

打印功能應該在指示的輸出流上顯示數字。通常情況下,複數顯示如下:1+2i或此:(1+2i)或甚至是:(1,2)。你可能會通過運營商鏈接做到這一點:

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

的平等檢查應在rhs返回true如果lhs兩個分量等於其同行:

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

readoperator<operator>細節將根據您的確切分配而有所不同。重新閱讀你的作業,密切關注這些功能需要做什麼的定義。

+0

謝謝,我應該如何繼續打印功能,這是有點混亂沒有 - >下一個指針在這些節點 – EmilDo