1.含有一个纯虚函数的类是纯虚类
2.纯虚类可以有成员变量
3.纯虚类可以有普通的成员函数(包括普通成员函数和虚拟成员函数)
3.纯虚类可不可以又带有参数的构造函数? (可以)
4.可不可以在纯虚类的派生类的构造函数中显式调用纯虚类的带参数构造函数(可以)
需要写程序证明。
class A{
public:
A(std::string & name);
~A();
virtual void abmethod(int value) = 0;
private:
std::string name_;
};
A::A(std::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,std::string &name);
~B();
void abmethod(int value);
private:
int value_;
};
B::B(int value,std::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 _tmain(int argc, _TCHAR* argv[])
{
std::string str = "hello world!";
A *a = new B(1,str);
return 0;
}
程序输出入下
A::A
B::B