可能重复:
运算符重载
您是否可以在 C++ 中为对象定义诸如“+、-、*、/”之类的符号?我在上面找不到任何文档,这样做会很有用/令人兴奋!
编程时必须学习的一件事是细微的区别很重要。通常它们很重要。您应该熟悉技术术语及其确切含义。
你称那些'符号'。在 C++ 中,符号是几种不同的可能事物之一:
从您的问题的上下文来看,很明显,您在提到“符号”一词时并不是指这两件事中的任何一个。你认为你指的是我上面列出的第二种情况。但是,虽然表面上看起来是这样,但事实并非如此。您所指的称为“操作员”。运算符是告诉编译器您正在尝试对一个值进行操作的东西。它们作为表达式的一部分出现。与大多数语言相比,C++ 的数量非常多。
编译器可以将符号解释为运算符。但是符号不是运算符,运算符也不是符号。例如&&
是操作员。但它也是两个&
符号。再举一个例子,是一个符号,但标准 C++@
中没有运算符。@
如果您搜索“运算符重载”,您将获得所需的信息。