运算符重载和C++中的运算符重写有什么区别?

bun*_*nty 8 c++

在C++中,运算符重载运算符重写之间的主要区别是什么?

Joh*_*itb 11

有些人使用后一术语来描述当你定义一个自己的全局operator newoperator delete.时所做的事情.那是因为您自己的定义可以替换库中的默认版本.C++标准使用替换替换这两个词.使用"覆盖"有点令人困惑,因为该术语已用于由派生类中的函数覆盖的虚函数.

术语"重载"是用于定义自己的运算符函数的通用术语.即使操作员功能没有发生实际的重载,也会使用该术语.接近这个术语的一种方法是因为它"重载"某些运算符的内置含义.


Del*_*ani 5

我从未听过后一个词,但我认为它与第一个词一样.运算符重载是您在运算符上下文中使用时为类提供函数的函数.例如,如果我有一个类point,并想要添加它们a + b,我必须创建一个operator+(point other)函数来处理它.