C++ 对关键字 operate 的理解

C++ 对关键字 operate 的理解C++对关键字operate的理解也许你看到过operate=operate()这些都是在利用operate对“=”“()”这些符号做重载,即赋予他们其他含义

C++ 对关键字 operate 的理解

也许你看到过operate= operate() 这些都是在利用operate对 “=” “()” 这些符号做重载,即赋予他们其他含义。

operate (i.e.重载操作符)
operate= (i.e.运算符重载)
operate() (i.e.函数调用运算符重载)

在operate后面加运算符,以增加相应运算符的其他含义

借用菜鸟教程上的一个例子就很好理解了:

#include <iostream>
using namespace std;
 
class Distance
{
   private:
      int feet;             // 0 到无穷
      int inches;           // 0 到 12
   public:
      // 所需的构造函数
      Distance(){
         feet = 0;
         inches = 0;
      }
      Distance(int f, int i){
         feet = f;
         inches = i;
      }
      // 重载函数调用运算符
      Distance operator()(int a, int b, int c)
      {
         Distance D;
         // 进行随机计算
         D.feet = a + c + 10;
         D.inches = b + c + 100 ;
         return D;
      }
      // 显示距离的方法
      void displayDistance()
      {
         cout << "F: " << feet <<  " I:" <<  inches << endl;
      }
      
};
int main()
{
   Distance D1(11, 10), D2;

   cout << "First Distance : "; 
   D1.displayDistance();

   D2 = D1(10, 10, 10); // invoke operator()
   cout << "Second Distance :"; 
   D2.displayDistance();

   return 0;
}

运行结果为:

First Distance : F: 11 I:10
Second Distance :F: 30 I:120

今天的文章C++ 对关键字 operate 的理解分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67662.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注