C++中结构体中的析构函数和构造函数

在C++中除了类中可以有构造函数和析构函数外,结构体中也可以包含构造函数和析构函数,这是因为结构体和类基

本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有。注意,C++中的结构体是可以有析构函数构造

,而C则不允许。至于联合体,它是不可能有析构函数构造函数的。本质上,它是一种内存覆盖技术的体现,也就

说,同一块内存在不同的时刻存储不同的值(可能是不同类型的)。

例子:

class  CExample
{
    struct  SExample
    {
         SExample()
         {
            a = 0x00;
            b = 0x00;
            ......
         }
         ~SExample()
          {
             if(a!=NULL)
             {
                delete[] a;
              }
              if(b!=NULL)
              {
                 delete[] b;
              }
              .....
           }
        private:
          int  *a;
          char *b;
         .....
     } 
 public:
     CExample()
     {
       sexample = 0x00;
      ......
      }
    ~CExample()
      {
         if(sexample!=NULL)
          delete[] sexample;
       .....
       }
 private:
    SExample  *sexample;
    .......

}
在类里面定义了一个结构体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值