class base{
public:
unsigned int base(unsigned int size) {sz = size; return sz;  }
 ~base() { }
virtual char * hpstget()=0;
unsigned int szget() { return sz; }
private:
unsigned int sz;
};(1)上面类定义有什么错误,请更改。(2)请用成员初始化(member initializer)方法改写构造函数:(3)char * hpstget()=0代表什么意思?

解决方案 »

  1.   

    (1)构造函数不应有返回值
    (2)base(unsigned int size):sz(size) {}
    (3)char * hpstget()=0代表纯虚函数,需在派生类中实现,另拥有虚函数的base类不能实例化
      

  2.   

    1 构造函数不能有返回值,他是完成对类数据成员的一种初始化
    class base{
    public:
    base(unsigned int size) 
             {
                    sz = size; 
              }
    ~base() { }
    virtual char *hpstget()=0;
    unsigned int szget() { return sz; }
    private:
    unsigned int sz;
    };