4.2.3拷贝构造函数调用时机
#include <iostream>
using namespace std;
class person3
{
public:
person3()
{
cout << "默认构造" << endl;
}
person3(int age)
{
m_age = age;
cout << "有参构造" << endl;
}
person3(const person3 &p)
{
m_age = p.m_age;
cout << "拷贝" << endl;
}
~person3()
{
cout << "析构" << endl;
}
private:
int m_age;
};
void test01()
{
}
void dowork(person3 p)
{
}
void test02()
{
person3 p;
dowork(p);
}
person3 dowork2()
{
person3 p1;
return p1;
}
void test03()
{
person3 p = dowork2();
}
int main4_2_3()
{
test03();
system("pause");
return 0;
}
4.2.2构造函数的分类及调用
#include <iostream>
using namespace std;
class person2
{
public:
person2()
{
cout << "aa1" << endl;
}
person2(int a)
{
age = a;
cout << "aa2" << endl;
}
person2(const person2 &p)
{
age = p.age;
cout << "拷贝构造函数" << endl;
}
~person2()
{
cout << "bb" << endl;
}
int age;
};
void test()
{
person2 p1;
person2 p2 = person2(10);
person2 p3 = person2(p2);
person2 p4 = 10;
}
int main4_2_2()
{
test();
system("pause");
return 0;
}