构造函数和析构函数及类中指针成员变量的new和delete

一直对于C++的继承机制非常疑惑,今天专门研究了一下继承过程中构造函数、虚构函数、以及对于构造函数初始化的一些问题。入的坑,还望大家少走弯路。

构造函数中new内存分配及析构函数delete

大家都知道,当程序中创建一个类指针对象并将其初始化的时候,只要该类有指针成员变量,且在构造函数中利用new操作符为该指针变量分配堆块上的内存时,我们就需要实时注意需要手动管理该段内存的释放。函数中用delete操作符对创建的类对象进行删除和释放类对象内存的时候,需要在析构函数函数体中对该指针成员变量所占用的内存释放掉,若是指针对象则用delete object,若是指针数组,则用delete[] object。

但是有一个问题是,若是具有形参的构造函数对该类初始化的时候,在构造函数中不仅需要将为该指针成员变量分配内存,还需要将构造函数的传参内容逐个复制到动态分配的内存中来。如下Base类及其源码实现:

class Base

{

public:

    Base(char *n);

    virtual ~Base();

private:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值