1,析构,即确定函数何时消失
构造,即想函数一样,对类里面的成员进行更改
2.正文开始喽(没有写主函数噢)
class person
{
public:
person()
{
cout << "person构造函数" << endl;
}
person(int age)
{
Age = age;
cout << "person有参函数" << endl;
}
~person()
{
cout << "person析构函数" << endl;
}
person(const person& p)
{
Age = p.Age;
cout << "person拷贝函数" << endl;
}
int Age;
};
先浅浅创建一个类,然后是对类的输出的各种变幻
one
析构函数是释放的时候才出现,可以用来判断变量什么时候消亡
two
先是无参构造,然后需将 p 拷贝一个临时的副本(调用到了拷贝函数噢)
three
这个就难看出一点了,首先进入了 do2 函数,执行 p1 即无参构造函数,return p1 ,这里又用到了隐式 即 person p=person(p1),可以理解为将一个数赋值到另一个空间,即拷贝,执行完 p1 再执行 return ,即释放 p1, 回到 test03,随着函数的调用完成,此函数凋零 . 输出2个类的变量是想比较,是不是 do2完成后,p1,进入了 test03.
3.回顾一下
拷贝函数一般在return 的时候出现,记住 3 中调用方法,括号法,显示法,隐式转化法
person(10) , person p1=person(10) , person p4=10;