为什么这个程序是先析构b,再析构a?
为什么这个程序是先析构b,再析构a?#include<iostream>
#include<string>
using namespace std;
class ren
{
private:
string _nm;
public:
ren(string nm);
~ren();
ren(ren & ren);
void say(){cout<<"i am :"<<_nm<<endl;}
};
ren::ren(string nm)
{
_nm=nm;
cout<<_nm<<" appear"<<endl;
}
ren::~ren()
{
cout<<_nm<<" disappear"<<endl;
}
ren::ren(ren & kk)
{
cout<<kk._nm<<" copy edition"<<endl;
_nm=kk._nm+" copy edition";
}
void main()
{
ren a("至尊宝");
a.say();
ren b(a);
b.say();
}