美文网首页
1.2.18_C++ 赋值运算符重载

1.2.18_C++ 赋值运算符重载

作者: 资深小夏 | 来源:发表于2017-06-29 23:17 被阅读5次

    C++ 重载运算符和重载函数

    就像其他运算符一样,您可以重载赋值运算符( = ),用于创建一个对象,比如拷贝构造函数。

    下面的实例演示了如何重载赋值运算符。

    #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;
          }
    
          void operator=(const Distance &D )
          { 
             feet = D.feet;
             inches = D.inches;
          }
    
          // 显示距离的方法
          void displayDistance()
          {
             cout << "F: " << feet <<  " I:" <<  inches << endl;
          }
          
    };
    
    int main()
    {
       Distance D1(11, 10), D2(5, 11);
    
       cout << "First Distance : "; 
       D1.displayDistance();
       cout << "Second Distance :"; 
       D2.displayDistance();
    
       // 使用赋值运算符
       D1 = D2;
       cout << "First Distance :"; 
       D1.displayDistance();
    
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    First Distance : F: 11 I:10
    Second Distance :F: 5 I:11
    First Distance :F: 5 I:11
    

    代码链接:https://github.com/karst87/cpp/tree/master/learning/com.runoob

    相关文章

      网友评论

          本文标题:1.2.18_C++ 赋值运算符重载

          本文链接:https://www.haomeiwen.com/subject/maovcxtx.html