设为首页 加入收藏

TOP

细说C++中的new与delete(四)
2014-03-10 12:53:48 来源: 作者: 【 】 浏览:425
Tags:细说 new delete

 

  4. 关于上面所讲的内容的一些例子:

  程序:

  #include <stdio .h>

  #include <stdlib .h>

  void * operator new(size_t unSize)

  {

  printf("operator new called\n");

  return malloc(unSize);

  }

  void * operator new(size_t unSize, int nLine, const char * pFunc)

  {

  printf("operator new called, line: %d, func: %s\n",

  nLine, pFunc);

  return malloc(unSize);

  }

  void operator delete(void * pMem)

  {

  printf("delete1\n");

  free(pMem);

  }

  class A

  {

  public:

  A(int a = 0) :

  _a(a)

  {

  printf("constructor called\n");

  }

  {

  printf("~A()\n");

  }

  static void operator delete(void * pMem, size_t unSize)

  {

  printf("delete2: %u\n", unSize);

  free(pMem);

  }

  private:

  int _a;

  };

  class B: public A

  {

  public:

  ~B()

  {

  printf("~B()\n");

  }

  int _b;

  int _bb;

  };

  int main()

  {

  A * pA = new A(10);

  printf("#######\n");

  A * pB = new (__LINE__, __func__) B();

  printf("#######\n");

  A * szA = new A ;

  printf("#######\n");

  delete pA;

  printf("#######\n");

  delete pB;

  printf("#######\n");

  delete [] szA;

  printf("#######\n");

  char * pC = NULL;

  delete pC;

  }

        

首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++中的纯虚函数 下一篇C/C++取整函数ceil(),floor()

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)
·TCP和UDP在socket编 (2025-12-26 02:20:32)
·有没有适合新手练习 (2025-12-26 01:48:47)
·用清华镜像网怎么下 (2025-12-26 01:48:44)