首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

菜鸟求指教

2013-01-08 
初学者求指教#include iostreamusing namespace std  class A  {public:   A(){coutA::A() called.\

初学者求指教
#include <iostream>
using namespace std;
  class A
  {public:
     A(){cout<<"A::A() called.\n";}
     virtual ~A(){cout<<"A::~A() called.\n";}
  }; 
  class B:public A
  { public:
     B(int i)
{  cout<<"B::B() called.\n";
        buf=new char[i];
      }
      virtual ~B()
{  delete []buf;
         cout<<"B::~B() called.\n";
      }
  private:
     char *buf;
  };
  void fun(A *a)
{  cout<<"May you succeed!"
    delete a;
  }
  int main()
{ A *a=new B(15);??这个是什么意思呢?
    fun(a);
       return 0;
}


[解决办法]
用基类指针指向派生类对象,这是可以的,也是经常出现的。
[解决办法]
创建一个B的实例,然后用一个A类型的指针指向这个实例,由于B是A的子类,所以这样完全合理,但是要记住这个指针指向的实际是一个B类的实例。

热点排行