试补充完成类numCal的定义
(注意:所有运算符的重载都必须符合运算符原本的语义,比如++A是“先加后使用”)
在写拷贝构造函数时要注意:拷贝的目标对象中的指针arr还没有被分配内存,此时如果进行delete操作,则会导致runtime-error。
重载赋值符号(=)时要注意:必须先把之前的指针arr释放掉,重新申请新的内存空间,因为进行赋值时,右操作数的数组大小有可能会大于左操作数的数组的大小。
重载postfix version自加符号(++)时,要注意postfix version的语义。如 a = b++; 先执行赋值操作再执行自加操作。所以在重载++的后置版本时,要用一个临时对象来存储当前对象的数据内容,然后再进行自加操作,最后返回那个临时对象。具体代码如下: