我在程序中遇到了重载运算符“+”、“-”、“/”和“*”的问题。基本上我有一个对象,它是动态分配的双值数组。我有整个程序,但我无法通过这些重载。
我的构造函数如下所示:
table::table(int size) {
this->size = size;
tab = new double[size];
count++;
}
我写过这样的东西:
table & table::operator-(const table &tab3 )
{
table * tab_oper2 = new table(size);
for(int i=0; i< tab3.size; i++)
{
(*this).tab[i] -= tab3.tab[i];
}
return *this;
}
这通常有效,但通常不是这样做的好方法。我的导师告诉我尝试将 (*this) 切换到 *tab_oper2,将其作为参考返回,但它不起作用。拜托,有人能告诉我如何正确地做到这一点吗?