virtual-->纯虚类

 1 1.含有一个纯虚函数的类是纯虚类
 2 2.纯虚类可以有成员变量
 3 3.纯虚类可以有普通的成员函数(包括普通成员函数和虚拟成员函数)
 4 3.纯虚类可不可以又带有参数的构造函数? (可以)
 5 4.可不可以在纯虚类的派生类的构造函数中显式调用纯虚类的带参数构造函数(可以)
#include <iostream>

using namespace std;


class A{
    public:
         A(string & name);
          ~A();
           virtual void abmethod(int value) = 0;
    private:
            std::string name_;
};

A::A(string &name):name_(name)
{
     std::cout<<"A::A"<<std::endl;
}

A::~A()
{
     std::cout<<"A::~A"<<std::endl;
}

class B : public A{
    public:
         B(int value,string &name);
          ~B();
         void abmethod(int value);
    private:
            int value_;
};

B::B(int value,string &name):A(name),value_(value)
{
     std::cout<<"B::B"<<std::endl;
}

B::~B()
{
     std::cout<<"B::~B"<<std::endl;
}

void B::abmethod(int value)
{
     this->value_ = value;
}

int main(int argc,char* argv[])
{
     string str = "hello world!";
      A *a = new B(1,str);
    //A aa(str);
    B  bb(12,str);
       return 0;
}

posted on 2012-11-02 16:02  凌峰布衣  阅读(376)  评论(0编辑  收藏  举报

导航