C++的构造函数和析构函数

一、C++的构造函数

1、默认构造函数

每个C++的函数都有一个默认的构造函数,如下

class A

{

};

有一个默认的构造函数

A(){};

2、构造函数有多态的存在

class A

{

public:

        A(){};

         A(int x){this->x=x};

private:

        int x;

};

当类写了构造函数时,默认的构造函数就不能在调用啦。

3、构造函数何时调用

构造函数在进行创建一个类的对象时候会进行调用,指针变量开辟空间的时会调用。

例如:

     A  a;  //会调用构造函数

     A * p=new A; //会调用构造函数

二、析构函数

1、默认析构函数

每个类中都有个默认的析构函数,如:

class A

{

};

默认的析构函数是:

~A(){};

2、析构函数的特点

(1)、析构函数只能有一个,不存在多态的形式。

(2)、析构函数,不能带有参数。

(3)、当显示的写出析构函数,就调用写的析构函数。

3、何时调用析构函数

(1)、如果类的对象在栈中,当作用域结束是就会调用析构函数。

如:

    {

         A a;

    }  //对象a的作用域在{}中,执行到“}”就会调用析构函数.

(2)、如果类的对象在堆中,则要程序员进行手动的删除,否则会出现内存泄露

    A *p=new A;

    delete p;   //调用析构函数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值