赞
踩
#include<iostream>
#include<stdio.h>
class staticClass
{
public:
staticClass()
{
printf("Initialize!\n");
// std::cout<<"Initialize!"<<std::endl;
}
~staticClass()
{
printf("Clear up!\n");
// std::cout<<"clear up!"<<std::endl;//这句话输不出来
}
};
static staticClass *mm=new staticClass();
static staticClass xx;
int main()
{
std::cout<<"Hello word!"<<std::endl;
//delete mm;
// int x;
// std::cin>>x;
return 0;
}
1.这个程序本来应该输出两次 celar UP的,
可是实际运行的时候只显示一次clear up,不知道为什么?
2.当注释掉static staticClass时 就不输出clear up,由此断定 new的对象没有调用类的析构函数
3
class staticClass
{
public:
staticClass()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。