关于析构函数
来源:互联网 发布:颈椎牵引器 知乎 编辑:程序博客网 时间:2024/06/05 07:12
学习C++的类时,写了如下的程序
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;
// system("pause");
}
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;
}
运行结果如下
发现并没有析构函数的输出。
原因以及解决方案:
运行结果中的【请按任意键继续。。。】是由于调用了system("pause").对于C++,析构函数的调用是在main函数最后语句执行完毕后才进行的,所有在【请按任意键继续。。。】后面还有析构函数的输出,只是看不到。
将system("pause")放在析构语句的cout之后可以看到析构函数的输出
- 关于析构函数
- 关于析构函数
- 关于析构函数
- 关于析构函数
- 关于析构函数析构函数
- 关于构造函数和析构函数
- 关于虚拟析构函数
- 关于析构函数出错
- 关于c++析构函数
- 关于虚函数--析构函数是虚函数
- 关于析构函数和IDisposable接口
- 一个关于虚拟析构函数测试
- 关于析构函数与内存
- 关于析构函数的调用顺序
- 关于继承中的析构函数
- 关于析构函数的问题
- 关于delet和析构函数
- Effective C++ 关于析构函数
- 蛇形(环形)数字打印学习笔记
- uoj34 多项式乘法【FFT or NTT】
- 行内元素的默认间距
- 浅谈过期数据在各种数据库中的删除
- 二叉树的还原
- 关于析构函数
- hog_svm code
- leetcode练习 532 python实现(字典方式和二分搜索)
- 线程
- 结构体的定义声明、内存对齐
- Tree(HDU 6228)
- 遍历聚合对象中的元素——迭代器模式(六)
- 欢迎使用CSDN-markdown编辑器
- mybatis的动态sql详解(精)