专业的环保行业网站开发,网页设计软件应用,wordpress添加点赞,小程序注册步骤文章目录1.抽象类1.1 什么是抽象类#xff1f;1.2 抽象类的作用?1.3 使用抽象类时注意2.抽象基类为什么不能创建对象#xff1f;1.抽象类
1.1 什么是抽象类#xff1f; 带有纯虚函数的类为抽象类 1.2 抽象类的作用? 抽象类的主要作用是将有关的操作作为结果接口组织在一个…
文章目录1.抽象类1.1 什么是抽象类1.2 抽象类的作用?1.3 使用抽象类时注意2.抽象基类为什么不能创建对象1.抽象类
1.1 什么是抽象类 带有纯虚函数的类为抽象类 1.2 抽象类的作用? 抽象类的主要作用是将有关的操作作为结果接口组织在一个继承层次结构中由它来为派生类提供一个公共的根派生类将具体实现在其基类中作为接口的操作。所以派生类实际上刻画了一组子类的操作接口的通用语义这些语义也传给子类子类可以具体实现这些语义也可以再将这些语义传给自己的子类。 1.3 使用抽象类时注意 抽象类只能作为基类来使用其纯虚函数的实现由派生类给出。 如果派生类中没有重新定义纯虚函数而只是继承基类的纯虚函数则这个派生类仍然还是一个抽象类。 如果派生类中给出了基类纯虚函数的实现则该派生类就不再是抽象类了它是一个可以建立对象的具体的类。 抽象类是不能定义对象的。
2.抽象基类为什么不能创建对象 由于抽象类包含了没有定义的纯虚函数所以不能定义抽象类的对象。 #includeiostream
using namespace std;class base {
public:base() {}/*virtual void print() {cout base print endl;}*/virtual void print() 0;void p() {cout base p endl;}virtual ~base() {}
};class derived :public base{
public:derived(){}virtual void print() {cout derived function endl;}~derived(){}
};
int main()
{base b;//错误base作为抽象类不能定义对象b.p();return 0;
}