★抽象类:一个类能够抽象出不一样的对象来表达一个抽象的概念和通用的接口,这个类不能实例化(创造)对象。函数
★纯虚函数(pure virtual):在本类里不能有实现(描述功能),实现须要在子类中实现。
例:
virtual typeT function_name(parameter_list)=0;
virtual void draw()=0; //画,纯虚函数;
virtual void rotate(double)=0; //旋转,纯虚函数;spa
★抽象类(abstract class):若是一个类包含纯虚函数,那么这个类就叫抽象类。指针
★一个抽象类只能用做基类,只能用做派生,不能实例化(建立)对象。一个类要是包含至少一个纯虚函数,则这个类是抽象类。一个抽象类的子类能够添加更多的数据成员和成员函数。对象
★抽象类的子类能够仍是抽象类,能够添加更多的成员函数和成员方法,直到能够产生对象为止。继承
★因为抽象类不能构造对象,所以它的构造函数不能被单独调用。它的构造函数只能在子类的成员初始化列表里面调用。接口
★抽象类不必定有析构函数,若是有必须是虚析构函数。io
★★★一个函数不能有抽象类对象的值参数<参数不能传值>,这个函数不能有抽象类对象的值返回。然而能够有抽象类类型的指针和引用能够做为参数,一样抽象类的指针和引用能够做为函数的返回值类型。由于他们能够指向或者引用抽象类的子类对象。function
★纯虚函数是在子类里面被实现的。若是子类没有实现纯虚函数,纯虚函数将继承给子类。那么这时子类一样也是一个抽象类。class