参照を戻すことはできなかったけど、引数を参照にすることはできた。
ふつーどっちを使うんだろう?
#include <iostream> using namespace std; class Foo { private: int i; public: Foo(int i); //Foo operator+(Foo foo); Foo operator+(Foo &foo); int get_i(); }; Foo::Foo(int i) : i(i) {} //Foo Foo::operator+(Foo foo) { Foo Foo::operator+(Foo &foo) { cout << "operator:+\n"; return Foo(i + foo.i); } int Foo::get_i() { return i; } int main() { Foo foo1(100), foo2(200); Foo foo3 = foo1 + foo2; cout << foo3.get_i() << "\n"; return 0; }
operator:+
300