设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 869|回复: 6
打印 上一主题 下一主题

[求助]怎么重载这个加号运算符

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 00:53:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是两个类的声明,我的问题在红色处,会的帮忙一下,^_^ ^_^
class List;
class Item
{
private:
Item(int d = 0)
{
data = d; next = 0;
}
Item * next;
int data;
public:
friend class List;
};
class List
{
private:
Item *end();
Item *list;
public:
List()
{ list = 0; }
List(int d)
{ list = new Item(d); }
List(Itme *li,Item *en)
{ list =li; end() = en; }
List operator +(const List &list);
};
inline List::operator +(const List &list)
{接下来该如何定义这个函数体
}
2#
发表于 2009-11-3 00:53:04 | 只看该作者
是为了让两个类的对象相加
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 00:53:07 | 只看该作者
Item *end()

{ list =li; end() = en; }
请问一下Item *end()不是定义一个名为返回Item指针的函数吗?
是不是写错了呀,应该是 Item * end

还有inline List::operator +(const List &list)首先应该改成 inline List List::operator +(const List &list)

能不能写一些注释呀,不太能看懂
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 00:53:10 | 只看该作者
以下是引用redfire250在2006-4-12 14:46:00的发言:
Item *end()

{ list =li; end() = en; }
请问一下Item *end()不是定义一个名为返回Item指针的函数吗?
答:是的,该函数定义如下:
Item * List::end()
{
Item * prv, * pt;
for(prv=pt=list;pt;prv=pt,pt=pt->next)
;
retrun prv;
}

还有inline List::operator +(const List &list)首先应该改成 inline List List::operator +(const List &list)

这个你是对的,谢谢你
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 00:53:12 | 只看该作者
做了好几个小时,郁闷死了

真不想再做这题了
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 00:53:14 | 只看该作者
问题还没解决么?
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 00:53:16 | 只看该作者
我的主要问题是:私有成员两个都是指针就不知道怎么写+重载了?
斑竹能不能写一下?或是举个私有成员数据是两个指针的+operator,谢谢斑竹了。^_^ ^_^
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 04:32 , Processed in 0.118643 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表