析构函数结果无法输出?
#include <iostream>#include <string>
using namespace std;
class newb
{
public:
newb()
{
cout<<"woshi"<<endl;
}
newb(string pname)
{
name=pname;
cout<<"zhegeshi"<<name<<endl;
}
void display()
{
cout<<"display a name"<<name<<endl;
}
~newb();
protected:
string name;
};
newb::~newb()
{
cout<<"dest"<<endl;
}
void main()
{
newb obj1;
newb obj2("jenny");
obj1.display();
obj2.display();
getchar();
}
运行后结果为
woshi
zhegeshijenny
display a name
display a namejenny
为何无法输出析构函数中的cout内容,麻烦各位了,我主要是想看是main中每执行一次就调用一次析构函数,还是执行到 obj2.display();最后就执行一次析构函数,对象超出其作用范围后自动执行,对这个作用范围还不是很理解!
[ 本帖最后由 sdg430 于 2010-7-1 15:55 编辑 ]