CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

在下初来乍到,提一个问题

楼主MagiSu(为GPA奋斗中……)2003-02-04 14:48:47 在 C/C++ / C++ 语言 提问

#include   <iostream.h>  
   
  class   Root  
  {  
  public:  
  Root();  
  ~Root();  
  virtual   Display();  
  };  
   
  Root::Root()  
  {  
  cout<<"Root   class   created.\n";  
  }  
   
  Root::~Root()  
  {  
  cout<<"Root   class   destroyed.\n";  
  }  
   
  Root::Display()  
  {  
  cout<<"This   is   ROOT.\n";  
  }  
   
  class   Casper:protected   Root  
  {  
  public:  
  Casper()   {   cout<<"Casper   class   created.\n";   }  
  ~Casper()   {   cout<<"Casper   class   destroyed.\n";   }  
  virtual   Display()   {   cout<<"This   is   Casper.\n";}  
  };  
   
  class   Balthasar:protected   Root  
  {  
  public:  
  Balthasar()   {   cout<<"Balthasar   class   created.\n";   }  
  ~Balthasar()   {   cout<<"Balthasar   class   destroyed.\n";   }  
  virtual   Display()   {   cout<<"This   is   Balthasar.\n";}  
  };  
   
  class   Melchior:protected   Root  
  {  
  public:  
  Melchior()   {   cout<<"Melchior   class   created.\n";   }  
  ~Melchior()   {   cout<<"Melchior   class   destroyed.\n";   }  
  virtual   Display()   {   cout<<"This   is   Melchior.\n";}  
  };  
   
  class   Magi:public   Casper,protected   Balthasar,protected   Melchior  
  {  
  public:  
  Magi();  
  ~Magi();  
  virtual   Display();  
  };  
   
  Magi::Magi()  
  {  
  cout<<"Magi   class   created.\n";  
  }  
   
  Magi::~Magi()  
  {  
  cout<<"Magi   class   destroyed.\n";  
  }  
   
  Magi::Display()  
  {  
  cout<<"This   is   Magi.\n";  
  }  
   
  void   main(void)  
  {  
  cout<<"------------------------------------------------------"<<endl;  
  Magi   *Mg1;  
  Mg1=new   Magi;  
  Mg1->Display();  
  Root   *Rt1;  
  Rt1=new   Root;  
  Rt1->Display();  
  Mg1->Casper::Display();  
  delete   Mg1;  
  delete   Rt1;  
  Mg1=new   Magi[10];  
  Magi   *pMg;  
  pMg=Mg1;  
  for(int   i=0;i<10;i++,Mg1++)  
  Mg1->Display();  
  delete   pMg;  
  cout<<"======================================================"<<endl;  
  }  
   
  这个程序为什么总是在最后输出====================之后加上一个null   pointer   assigned?而如果删除最后cout就没有null   pointer了?  
  问题点数:20、回复次数:7Top

1 楼oustar(欧文)回复于 2003-02-04 16:55:23 得分 11

"delete   pMg;"is   wrong!  
  Should   be   "delete   []pMg;Top

2 楼qhgary(Gary)回复于 2003-02-04 22:52:31 得分 5

delete   []pMg;Top

3 楼MagiSu(为GPA奋斗中……)回复于 2003-02-11 14:09:15 得分 0

谢谢大家!Top

4 楼qhgary(Gary)回复于 2003-02-11 22:31:27 得分 0

给分阿Top

5 楼CodeSaint(下划线)回复于 2003-02-14 17:14:47 得分 2

delete   []pMg;  
  Top

6 楼ysharp(*除运气*态度决定一切*)回复于 2003-02-16 20:47:45 得分 2

delete   []pMg;  
  Top

7 楼DDDTOO(DDDTOO)回复于 2003-02-17 00:02:03 得分 0

处女贴~!~  
  大家以后关照关照Top

相关问题

  • 初来乍到的,想问问在哪儿能下载SQL SERVER2000?
  • 初来乍到,提几个问题。。。
  • 初来乍到,提个小问题哈!
  • 初来乍到,再来一问,表单贴代码,在线
  • 初来乍到
  • 初来乍到
  • 初来乍到,先热热身,熟悉一下这里的环境!:)
  • 急!初来乍到:如何在命令按钮上添加图标?
  • 初来乍到,提个问题先。是关于如何用一个Query控件来访问不在一台机器上的多个表的。不好意思,只能给20分。
  • 初学者初来乍到,交个朋友,大家给我提点学习意见吧

关键词

  • root
  • pmg
  • mg
  • magi
  • rt
  • display
  • delete
  • cout

得分解答快速导航

  • 帖主:MagiSu
  • oustar
  • qhgary
  • CodeSaint
  • ysharp

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo