当前位置:编程学习 > C#/ASP.NET >>

C#编程高手帮忙解答下这道练习题

三,[理解问答题]阅读下面的程序,写出程序运行的结果,并给以简单扼要的说明。
  //********************************************************** *****/
  #include
  class Cla_Base {
  private:
  //...其他成员
  public:
  virtual void fun_Disply(long num) {cout << "class Cla_Base: " << num << endl; }
  void fun_Disply (char * str) { cout << "class Cla_Base: " << str << endl ; }
  void fun_Disply () { cout << "Disply in class Cla_Base without parameter!\n" ; }
  };
  class Cla_Sub: public Cla_Base {
  private:
  static int obj_n;
  //...其他成员
  public:
  Cla_Sub() { obj_n ++; }
  ~Cla_Sub() { obj_n --; }
  static int GetObj_n() { return  obj_n; };
  void fun_Disply (long num) { cout << "class Cla_Sub: " << num << endl ; }
  void fun_Disply (char * str) { cout << "class Cla_Sub: " << str << endl ; }
  void fun_Disply () { cout << "Disply in class Cla_Sub without parameter!\n"; }
  };
  int Cla_Sub::obj_n = 0;
  void main(int argc, char* argv[])
  {
  Cla_Base  *pBase;
  Cla_Sub   Sub1,*pSub = new Cla_Sub[5];
  pBase = &Sub1;
  pBase-> fun_Disply ("Hello!");
  pBase-> fun_Disply (2000);
  pBase-> fun_Disply ();
  pSub-> fun_Disply ("Hi!");
  pSub-> fun_Disply ();
  cout<<"There are "<GetObj_n()<<" objects"<  delete []pSub;
  cout<<"There are "<

 

 

答案:输出结果为:
  class Cla_ Base: Hello!
  class Cla_ Sub: 2000                     //动态联编和函数重载的结果应访问Cla_Sub
  Disply in class Cla_Base without parameter!
  class Cla_ Sub: Hi!
  Disply in class Cla_Sub without parameter!
  There are 6 objects                       // Sub1, Cla_Sub[5]共建6个对象
  There are 1 objects                       // 还有一个对象Sub1

上一个:C#编程中的小问题——1
下一个:C#编程环境?..

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,