01/10/2018, 09:01
Mọi người cho em hỏi về Operator Overloading
mọi người có thể giải thích cách hoạt động của nó giùm em được không ạ
chẳng hạng như VD này
class MyClass {
public:
int var;
MyClass() {}
MyClass(int a)
: var(a) { }
MyClass operator+(MyClass &obj) {
MyClass res;
res.var= this->var+obj.var;
return res;
}
};
int main() {
MyClass obj1(12), obj2(55);
MyClass res = obj1+obj2;
cout << res.var;
}
//Outputs 67
Bài liên quan
Khái niệm overload (đang xài trong code này) rất là tự nhiên
Định nghĩa một phép + trên S thỏa:
operator+
chỉ là 1 trong những phương thức thôi, nhưng prototype của nó phải có return thì mới viết đượca + b + c
.sao hàng này
res.var= this->var+obj.var;
không là
res.var=res.var+obj.var; ạ?
Vì res không có gì cả, mới tạo mà. Và nó chỉ là biến tạm.