当我们去面试的时候总会遇到笔试里面会有这个问题,New 和 Malloc 有什么不同?
1: 最大的区别在于:New 是运算符,可以重载。Malloc是函数,可以重写(覆盖)。
New / Delete 是 C++ 里面的运算符。 Malloc 和 Free是 C++ / C语言标准库函数。他们都是用于动态分配内存和释放内存
说到重载那么问题来了。什么是重载?
重载:一般用于在一个类内实现若干重载的方法,这些方法的名称相同而参数不同。
重写(覆盖):一般是用于子类在继承父类是,重写(重新实现)父类中的方法。
重写(覆盖)的规则:
1:重写方法的参数列表必须完全与被重写的方法相同。
2:重写方法的访问修饰符一定要大于或等于被重写方法的访问修饰符(Public > Projected > Default > Private )
3:重写方法的返回值必须相同
4:抛出异常必须一致