2014-11-02 146 views
0

我写其中任意大的数由双重链接列表,其中该列表中的一个节点表示的大量的一个数字表示的程序。c + +重写>>操作

随着问题的一部分,我需要这样,当我在一个大的号码类型,该程序使用该号码所取的数量,并创建一个big_number类覆盖“>>”操作符。 (big_number类是表示了大量的双向链表。)

我改写:

istream& >> operator(istream& in, big_number& n) 
{ 
    //Code I need to write 
    return in; 
} 
+3

那么你有什么麻烦? – Radiodef 2014-11-02 04:27:57

+0

你既没有明确提到你面临的问题,也没有详细说明你的课程描述。 – ravi 2014-11-02 04:33:39

+0

我应该如何重写它。我已经覆盖了<<操作符,所以它看起来像:ostream的&运算符<<(ostream的进出,常量b​​ig_number&N) { \t如果(n.positive ==假) \t \t了<< ' - '; \t \t \t 节点*光标= n.head_ptr; \t while(cursor!= nullptr) \t { \t \t out << cursor-> data; \t \t cursor = cursor-> next; \t \t} \t回报的; } – SoraMarch 2014-11-02 04:33:59

回答

2

这条线:

istream& >> operator(istream& in, big_number& n) 

应该是

istream& operator>>(istream& in, big_number& n) 

auto operator>>(istream& in, big_number& n) 
    -> istream& 

在你以后的SO帖子,请还包括你的构建命令和错误消息。


顺带一提,关于术语,这是一个过载,而不是一个倍率。后者是您在覆盖基类虚拟成员函数’时所拥有的。