C++学习总结_析构函数
来源:互联网 发布:大数据时时彩在线计划 编辑:程序博客网 时间:2024/05/18 18:18
一、析构函数的一个简单例子:
#include <iostream>
using namespace std;
class A{
public :
A(){}
~A(){}//这就是一个析构函数,比无参构造函数多了一个浪纹~符号
};
int main()
{
return 0;
}
二、析构函数的作用:
析构函数与构造函数相反就是用来,(构造函数是用来构造一个对象)而析构函数是在对象被销毁后用来释放对象所占用的内存空间。可以清除由构造函数所创建的内存空间。
三、析构函数的注意问题:
1、析构函数和无参构造函数的唯一区别就是前面多了一个浪纹~符号。
2、析构函数和构造函数一样不能有返回值
3、析构函数不能含有参数,也就是说析构函数就一个不能重载。
四、析构函数何时被调用——对象销毁后被调用
一个例子:
#include <iostream>
using namespace std;
class A
{
public :
A(){cout<<"无参构造函数被调用!/n";}
~A(){cout<<"析构造函数被调用!/n";}//析构函数
};
int main()
{
A a;//定义一个A类型的对象,a会调用无参构造方法A(){}
return 0;
}//main函数结束,编译器自动调用析构函数,释放a对象。
五、总结
1、构造函数用来创建一个对象
2,析构函数用来销毁一个对象(销毁这个对象所占用的内存空间)
六、类中声明函数,类外定义函数
#include <iostream>
using namespace std;
class A
{
public :
A();//类中声明无参构造函数
~A();//类中声明析构函数
};
//类外定义无参构造函数
A::A(){cout<<"无参构造函数被调用!/n";}
//类外定义析构函数
A::~A(){cout<<"析构造函数被调用!/n";}//析构函数
int main()
{
A a;//定义一个A类型的对象,a会调用无参构造方法A(){}
return 0;
}//main函数结束,编译器自动调用析构函数,释放a对象。
六、使用对象数组定义对象,这个例子输出四句话构造方法执行两次,析构函数执行两次。
#include <iostream>
using namespace std;
class A
{
public :
A();//类中声明无参构造函数
~A();//类中声明析构函数
};
//类外定义无参构造函数
A::A(){cout<<"无参构造函数被调用!/n";}
//类外定义析构函数
A::~A(){cout<<"析构造函数被调用!/n";}//析构函数
int main()
{
A a[2];//使用对象数组定义2个A类型的对象,a会调用无参构造方法A(){}两次
return 0;
}//main函数结束,编译器自动调用析构函数,释放a[0]、a[1]对象,析构方法也会被执行两次。
- C++学习总结_析构函数
- C++学习总结_内联函数
- C++学习总结_构造函数
- JavaScript学习总结_四.函数
- .第04章 CORE C++_指针(II)_动态内存_引用_类_对象_构造函数_析构函数
- C语言学习笔记:09_函数
- C++_构造函数和析构函数
- C++_构造函数与析构函数
- C++_构造函数和析构函数
- C++_构造函数和析构函数
- C语言学习笔记:10_函数_高级
- C++primer_第六章_函数_学习跟踪
- [C++] inline函数_内联函数的一些总结【转载】
- [C/C++]_[初级]_[标准字符串std::string 所有函数的用法总结]
- db2_sql_函数_总结
- C语言_函数
- C++_函数
- C++_函数重载
- zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)
- C#的引用
- sap去除后缀0方法
- windows系统如何设置应用程序崩溃自动内存转储
- 闲置小U盘变身最强大路由器~!
- C++学习总结_析构函数
- kernel hacker’s guide to git
- polymorphism
- ubuntu eclipse源安装
- solaris系统的版本和位数以及pkgadd,pkginfo,pkgrm
- 微软面试技术题
- VC6.0中类存在但class view中不显示
- asp.net 在IIS下操作Excel文件权限不足的解决方法
- Java基础番外篇:自增和自减运算符