2012-12-16 20 views
-1

可能重复:
Operator overloading定义在C++对象的 “+” 符号

难道你这样定义符号 '+, - ,*,/' 为对象C++?我找不到任何文档,这样做会很有用/令人兴奋!

+6

搜索词:“操作员重载”。 (所以是的,你可以。) – Ryan

+0

谷歌会帮助你:http://www.learncpp.com/cpp-tutorial/92-overloading-the-arithmetic-operators/ 一些第一项。 – Link

+0

请参阅[运算符重载](http://stackoverflow.com/questions/4421706/operator-overloading) – juanchopanza

回答

0

编程时你必须学会​​的一件事是微妙的区别。他们通常很重要。你应该熟悉技术术语及其确切含义。

你称这些'符号'。在C++中,符号是几种不同可能的东西之一:

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

从您的问题的上下文中可以明显看出,在引用“符号”这个词时,您不是指这两件事中的任何一件。你认为你指的是我上面列出的第二个案例。但虽然表面上似乎是这样,但事实并非如此。你指的是所谓的'操作员'。运算符是告诉编译器你试图对一个值进行操作的东西。它们作为表达的一部分出现。与大多数语言相比,C++的数量非常庞大。

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

如果您搜索'运营商超载',您将获得您正在查找的信息。