CPP 6th——类(8)

来源:互联网 发布:s7 200 编程电缆 原装 编辑:程序博客网 时间:2024/06/07 20:44

纯虚函数

  1. 定义格式是:
    virtual 函数类型 函数名(参量列表)=0;
    例如:virtual float area( ) const =0;//纯虚函数
    注意: ①纯虚函数没有函数体;②最后面的“=0”并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”; ③这是一个声明语句,最后应有分号。
  2. 作用:
    纯虚函数的作用是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对它进行定义。如果在基类中没有保留函数名字,则无法实现多态性。

抽象类

  1. 定义:
    不能用作定义对象而只是表示一种基本类型用作继承的类,称为抽象类。由于其经常用作基类,因此也常称作抽象基类。
    特征:
  2. 凡是包含纯虚函数的类都是抽象类
  3. 如果在派生类中没有对所有纯虚函数进行定义,则此派生类仍然是抽象类,不能用来定义对象。
  4. 虽然抽象类不能定义对象(或者说抽象类不能实例化),但是可以定义指向抽象类数据的指针变量。当派生类成为具体类之后,就可以用这种指针指向派生类对象,然后通过该指针调用虚函数,实现多态性的操作。
  5. 在类的层次结构中,顶层或最上面的几层可以是抽象基类。抽象基类体现了本类族中各类的共性,把各类中共有的成员函数集中在抽象基类中声明。
0 0
原创粉丝点击