对象的构造函数
Set<T>::Set() {
buckets = new forward_list<T>[9];
numBuck = 9;
numElem = 0;
maxLoad = 9;
}
加号运算符的重载
Set<T>::operator+(T elem){
Set<T> res;
return res;
}
我不太知道从哪里开始。此重载运算符将其参数 elem
添加到 *this 的拷贝并返回结果。
例如:
Set<char>setA;
Set<char>setB;
setA.Add('a')
setA.Add('b')
setA.Add('c')
// setA contains {'a','b','c'}
setB = setA + 'd'
// setB should now contain {'a','b','c','d'}
有什么指导吗?
编辑:澄清运算符重载功能
最佳答案
您可以在集合中创建一个复制函数,并在重载中使用Add
函数。演示代码:
Set<T>::operator+(T elem)
{
Set<T> result;
result.Copy(*this);
result.Add(elem);
return result;
}
注意:或者您可以按照 @jxh 的回答并使用默认的复制构造函数。为了明确起见,我会创建一个 Copy 函数。 :)
关于C++ 重载加号运算符以将元素添加到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69923184/