-1

可能重复:
运算符重载

您是否可以在 C++ 中为对象定义诸如“+、-、*、/”之类的符号?我在上面找不到任何文档,这样做会很有用/令人兴奋!

4

1 回答 1

0

编程时必须学习的一件事是细微的区别很重要。通常它们很重要。您应该熟悉技术术语及其确切含义。

你称那些'符号'。在 C++ 中,符号是几种不同的可能事物之一:

  • 您指的是链接器用来连接程序部分的东西。函数和全局变量的名称成为“符号”。
  • 或者您指的是一类通常称为“符号”的单个字符。这是一个非常模糊的集合,但通常包括通过按住 shift 键并在美式英语键盘上键入所有数字所获得的大部分内容。但作为一个符号,这些对 C++ 来说毫无意义。

从您的问题的上下文来看,很明显,您在提到“符号”一词时并不是指这两件事中的任何一个。你认为你指的是我上面列出的第二种情况。但是,虽然表面上看起来是这样,但事实并非如此。您所指的称为“操作员”。运算符是告诉编译器您正在尝试对一个值进行操作的东西。它们作为表达式的一部分出现。与大多数语言相比,C++ 的数量非常多。

编译器可以将符号解释为运算符。但是符号不是运算符,运算符也不是符号。例如&&是操作员。但它也是两个&符号。再举一个例子,是一个符号,但标准 C++@中没有运算符。@

如果您搜索“运算符重载”,您将获得所需的信息。

于 2012-12-16T23:14:15.293 回答