朋友帮分析这个类里析构函数怎么没有调用啊
我是新手,怎么这个类里构造函数和复制函数调用次数有,而析构函数运行次数却是0 啊。代码如下:
#include<iostream>
using namespace std;
int i=0;
int j=0;
int k=0;
class Cuboid
{
public:
Cuboid(double a,double b)
{
m_a=a;
m_b=b;
i++;
}
Cuboid( Cuboid &x)
{
m_a=x.m_a;
m_b=x.m_b;
j++;
}
void set(double a,double b)
{
m_a=a;
m_b=b;
}
double getArea()
{
m_TotalNum++;
return m_a * m_b ;
}
int getTotalNum()
{
return m_TotalNum;
}
~Cuboid()
{
k++;
}
private:
double m_a,m_b;
static int m_TotalNum;
};
int Cuboid::m_TotalNum=0;
int main()
{
Cuboid x(4,5);
cout<<"长方面积:"<<x.getArea()<<endl;
x.set(5,6);
cout<<"长方面积为:"<<x.getArea()<<endl;
Cuboid y(x);
cout<<"长方面积为:"<<y.getArea()<<endl;
Cuboid z(5,7);
cout<<"长方面积为:"<<z.getArea()<<endl;
cout<<"当前长方对象的数量为:"<<x.getTotalNum()<<endl;
cout<<"调用构造函数次数为:"<<i<<","<<"调用拷贝函数次数为:"<<j<<endl;
cout<<"调用析构函数次数为:"<<k<<endl;
return 0;
}
怎么运行结果却显示"k=0"啊,请高手帮分析一下。谢谢