C++函数返回值是自定义类型情况
C++ 1 在这种情况下,使用该类拷贝构造函数,根据返回值来创建该类的新的对象。 class Person { Person(int age) {//构造函数 cout << "param constructor!" << endl; mAge = age; } public: Person(const Person& person) { //拷贝构造函数 mAge = person.mAge; } public: int mAge; }; Person MyFunc() {//返回值为非引用自定义类的函数 Person q(10); return q; } MyFunc() Person p = MyFunc(); MyFunc() Person q Person q p Person MyFunc() MyFunc() MyFunc(); Person Person q 2 当函数的返回值是自定义类的引用类型时 Person& MyFunc() {//返回值为引用自定义类的函数 Person q(10); return q; } MyFunc() MyFunc(); Person MyFunc() Person p = MyBusiness(); Person 文章来源: C++函数返回值是自定义类型情况