Nạp chồng toán tử

      Comments Off on Nạp chồng toán tử

Ở những phần trước ta đã có thể override lại được toán tử operator=. Ở bài này sẽ hướng dẫn operator+.

#include <iostream>

class A{
   public: int a = 100;
   public: A operator+(A const &a){
        A result;
        result.a = this->a + a.a;
        return result;
    }
    A(){}
    A(A const &a){
        std::cout << "Copy constructor"<<std::endl;
    }
    A& operator=(A &&a){
        this->a = a.a;
        std::cout << "Move operator="<<std::endl;
    }
};

int main(){
    A a1,a2,a3;
    a2.a=10;
    a3.a=22;
    a1=a2+a3;
    std::cout << a1.a <<std::endl;
    return 0;
}