C++学习(10)(纯虚函数和抽象类)

纯虚函数

概述

仅定义函数原型,而不定义其实现的虚函数。
C++学习(10)(纯虚函数和抽象类)

抽象类

概述

包含纯虚函数的类叫抽象类。

特点

不能实例化为对象,但是可以定义抽象类的指针和引用。
可以定义一个抽象类的派生类,必须重写其所有纯虚函数,否则派生类还是抽象类。(注意重写与重载的区别)
C++学习(10)(纯虚函数和抽象类)

用途

主要用途为做接口
C++学习(10)(纯虚函数和抽象类)

举例

C++学习(10)(纯虚函数和抽象类)
一般声明放到.h,具体定义放到.cpp
C++学习(10)(纯虚函数和抽象类)
#ifndef是"if not defined"的简写,防止头文件重复包含。后面那个相当一一个flag,保证只存在一个。