论坛题目
#include<string>
#include<iostream>using namespace std;
class Student
{
private:
int num;
string name;
char sex;
public:
Student(int n,string nam,char s) //带有参数的构造函数
{
cout<<"Constructor called."<<endl;
num=n;
name=nam;
sex=s;
}
~Student() //析构函数
{
cout<<"Destructor called."<<num<<endl;
}
void display()
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
} ;
int main()
{
Student stud1(1,"Lily",'f');
stud1.display() ;
system("pause");
return 0;
}
我在C++Builder6.0中运行的结果是
为什么析构函数没有被执行呢
因为你用system("pause");暂停了程序运行
运行效果如下:
这个时候按一下 回车或者空格
析构的输出就出来了