新微赢技术网
标题:
[求助]怎么重载这个加号运算符
[打印本页]
作者:
专属天使
时间:
2009-11-3 00:53
标题:
[求助]怎么重载这个加号运算符
以下是两个类的声明,我的问题在红色处,会的帮忙一下,^_^ ^_^
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)
{接下来该如何定义这个函数体
}
作者:
o.筎茈菰箪き
时间:
2009-11-3 00:53
是为了让两个类的对象相加
作者:
々無極風嘯々
时间:
2009-11-3 00:53
Item *end()
{ list =li; end() = en; }
请问一下Item *end()不是定义一个名为返回Item指针的函数吗?
是不是写错了呀,应该是 Item * end
还有inline List::operator +(const List &list)首先应该改成 inline List List::operator +(const List &list)
能不能写一些注释呀,不太能看懂
作者:
大师傅
时间:
2009-11-3 00:53
以下是引用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)
这个你是对的,谢谢你
作者:
独臂神军
时间:
2009-11-3 00:53
做了好几个小时,郁闷死了
真不想再做这题了
作者:
陪你疯→想你
时间:
2009-11-3 00:53
问题还没解决么?
作者:
駃旒_鎏蒗瀦
时间:
2009-11-3 00:53
我的主要问题是:私有成员两个都是指针就不知道怎么写+重载了?
斑竹能不能写一下?或是举个私有成员数据是两个指针的+operator,谢谢斑竹了。^_^ ^_^
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2