接口继承和实现继承
public继承下,派生类总是继承基类的接口。
纯虚函数必须被派生类重新声明,通常在抽象类中没有定义。声明一个纯虚函数的目的就是为了让派生类只继承函数接口。
也可以为纯虚函数提供定义,但是调用时需要明确指出类名称。用途有限,比如为普通虚函数提供更平常更安全的缺省实现。
声明普通虚函数的目的是让派生类继承该函数接口和缺省实现。
分割接口和默认实现。
声明非虚函数的目的是为了让派生类继承函数的接口和一份强制性实现。
非虚函数意味着并不打算在派生类中有不同行为,不变性凌驾于特异性之上。行为不可改变,派生类不该重新定义它。