析构理解
来源:互联网 发布:视频剪辑edius软件价格 编辑:程序博客网 时间:2024/05/20 10:11
#include <iostream>
using namespace std;
class MyClass{
int val;
public:
MyClass(int i){
val=i;
cout<<"inside constructor \n";
}
int getval(){return val;}
~MyClass() { cout<<"Destructor\n";}
MyClass MkBigger(){
MyClass o(val*2);
return o;
}
};
void display(MyClass ob)
{ cout<<ob.getval()<<endl;}
main(){
MyClass a(10); //调用构造函数
cout<<"Before calling display().\n";
display(a);//display中有个对象,发生一次析构
a=a.MkBigger();//发生两次析构
cout<<"after display returns.\n";//对象a析构
using namespace std;
class MyClass{
int val;
public:
MyClass(int i){
val=i;
cout<<"inside constructor \n";
}
int getval(){return val;}
~MyClass() { cout<<"Destructor\n";}
MyClass MkBigger(){
MyClass o(val*2);
return o;
}
};
void display(MyClass ob)
{ cout<<ob.getval()<<endl;}
main(){
MyClass a(10); //调用构造函数
cout<<"Before calling display().\n";
display(a);//display中有个对象,发生一次析构
a=a.MkBigger();//发生两次析构
cout<<"after display returns.\n";//对象a析构
}
VC下编译结果:
分析:
- 析构理解
- 理解finalize()-析构函数替代者
- 进一步理解C++构造与析构
- C++构造、析构的一些理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解
- 理解finalize()-析构函数的替代者
- 理解finalize()-析构函数的替代者【转载】
- 理解finalize()-析构函数替代者 (zhuantie)
- c#中ref和out 关键字
- org.springframework.web.filter.CharacterEncodingFilter .
- 解析JSP中标签库
- 团队管理的思考
- Jni编程总结
- 析构理解
- js的线程机制
- PIL安装
- NYOJ-57:6174问题
- 项目中Jar包冲突解决
- 虚拟机中系统扩展硬盘分区大小
- JRebel4.0 在Eclipse中配置使用说明
- C# Windows服务程序安装
- 通过datatable导出数据表到文件