首页 > 解决方案 > 将值传递给 C++ 中的运算符重载函数时会发生什么?

问题描述

我没看懂这段代码的编译步骤。首先,默认构造函数的目的是什么,为什么有这么多 MyClass 类型的对象? 链接到我保存代码的sololearn

#include <iostream>
using namespace std;

class MyClass {
    public:
        int var;
        MyClass() { }
        MyClass(int a)
        : var(a) { }

        MyClass operator+(MyClass &obj) {
            MyClass res;
            res.var= this->var+obj.var;
            //'this' is refering to active (obj1)
            return res; 
        }
};

int main() {
    MyClass obj1(12), obj2(55);

    MyClass res = obj1+obj2;

    cout << res.var;
}
//I've not understood, its from a lesson

标签: c++classoperator-overloading

解决方案


没有参数的构造函数用于不传递任何值的对象,即存储两个操作数对象之和的对象。 - -简单的 - -


推荐阅读