189 8069 5689

C++--对象的构造顺序与对象的销毁-创新互联

一.对象的构造顺序

A.对于局部对象--当程序执行流到达对象的定义语句时进行构造
程序示例

创新互联公司是一家专注于网站设计制作、成都网站设计与策划设计,上林网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:上林等地区。上林做网站价格咨询:18982081108
#include
using namespace std;
class Test
{
    private:
        int mi;
    public:
        Test(int i)
        {
            mi=i;
            cout<<"Test(int i)="<

运行结果如图所示
C++--对象的构造顺序与对象的销毁
由运行结果可以看出,程序是按照程序流来实现的Test a=i首先被构造,输出Test(int i)=0,Test a1=++i输出Test(int i)=1,Test(int i)=2,Test(int i)=3;Test a2=a输出Test(const Test& obj)=0;
B.对于堆对象
1.当程序执行流到达new语句时创建对象
2.使用new创建对象将自动触发构造函数的调用
代码示例

#include
using namespace std;
class Test
{
    private:
        int mi;
    public:
        Test(int i)
        {
            mi=i;
            cout<<"Test(int i)="<
C.对于全局对象
1.对象的构造顺序是不确定的
2.不同的编码器使用不同的规则确定构造顺序

二.对象的销毁

1.一般而言,需要要销毁的对象都应该做清理
2.解决方案
a.为每个类提供一个public的free函数
b.对象不在需要时立即调用free函数进行清理
C++--对象的构造顺序与对象的销毁
存在的问题
1.free函数只是一个普通的函数,必须显示的调用
2.对象销毁前没有做清理,很可能造成资源泄漏

析构函数
C++的类中可以定义一个特殊的清理函数
1.这个特殊的清理函数叫做析构函数
2.析构函数的功能与构造函数相反
定义:~ClassName()
1.析构函数没有参数也没有返回值类型声明
2.析构函数在对象销毁时自动被调用
代码示例

#include 
using namespace std;

class Test
{
    int mi;
public:
    Test(int i)
    {
        mi = i;
        cout<<"Test()"<

运行结果
C++--对象的构造顺序与对象的销毁
运行结果如图所示,使用~ClassName之后对构造函数进行了析构,并销毁

小结
1.局部对象的构造顺序依赖于程序的执行流
2.堆对象的构造顺序依赖于new的使用顺序
3.全局对象的构造顺序是不确定的
4.析构函数时对象销毁时进行清理的特殊函数
5.析构函数在对象销毁时自动被调用
6.析构函数是对象释放系统资源的保障

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:C++--对象的构造顺序与对象的销毁-创新互联
本文网址:http://cdxtjz.cn/article/dhgppi.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。