最新回答 / discaz
实验性代码有点bug,简单来说,我能不能使用opertaor-(double)重载函数能使得int类型的成员属性不改变,而double类型的属性取负值
2017-11-28
最赞回答 / 慕设计7231163
有两个很好的作用: 一个作用是改变运算符的本来运算方式,比如我定义一个类有两个数据成员m_iX和m_iY,把一个运算符重载函数名写成Coor& operator++()的形式,但是在定义函数的时候却定义成m_iX和m_iY自减即{--m_iX;--m_iY},那么我实例化一个Coor的对象c(2,2),并在主函数中做++c时,实际运行的却是c中的所有数据成员自减,结果等于(1,1),所以运算符重载相当于把运算符重新定义。 另一个是把对象直接作为一个数据可以反馈出来,简化了...
2017-11-02
最新回答 / Chaowei_Shi
没有主意面积和周长的函数是return出一个值的,所以一定不能是void了。return的值是根据typename T定的(可能是int,也可能是double),所以定义的时候用T来定义. 然后就是拼写错误 > <!
2017-10-25
最新回答 / qq_慕神9017989
把交换的那段改为:void swapNum(int*p1,int *p2){int temp = *p1;*p1=*p2;*p2=temp;}
2017-09-25
最新回答 / 慕移动9181930
您的这个add(2)是什么意思,您能详细描述一下,或者将代码贴出来看一下吗你的代码是为input的submit添加背景色,如果是$("#frmTestinput").addClass("bg_red");这样写,就是为input添加背景色。
2017-09-04
最新回答 / pkcorn
成员函数重载只是相当于调用一个成员函数。而悠远函数重载是开放一个接口给一个operator-()的函数,没有成员函数重载安全,结合上一节所讲,还是少用友元函数好,容易破坏内部封装结构。
2017-08-06
最新回答 / HanCHEN
找到原因了,从你的图中可以看出来虽然你主函数里没有用到深拷贝,但运行时调用了深拷贝函数,所以在最后多释放了两次p[],系统崩溃。这是由于“=”没有重载导致的,所以主函数中t3=t1+t2,系统理解为了t3=t1,t3+t2。要想解决就要定义重载运算符“=”。下面是代码。<...图片...>
2017-08-03