C++函数返回值是自定义类型情况

匿名 (未验证) 提交于 2019-12-03 00:31:02

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()PersonqPersonqpPersonMyFunc()MyFunc()

MyFunc();

PersonPersonq

2

当函数的返回值是自定义类的引用类型时

Person& MyFunc() {//返回值为引用自定义类的函数  Person q(10);  return q;  }

MyFunc()

MyFunc();

PersonMyFunc()

Person p = MyBusiness();

Person

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!