在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()函数