C++ - 展示接口&运行期多态 和 隐式接口&编译期多态

C++ - 显示接口&运行期多态 和 隐式接口&编译期多态

显示接口&运行期多态 和 隐式接口&编译期多态


本文地址: http://blog.csdn.net/caroline_wendy/article/details/23835515


类(class)和面向对象:

显示接口(explicit interface): 即在源代码中可见, 可以在头文件内看到类的所有接口;

运行期多态(runtime polymorphism):成员函数是virtual, 传入类的引用或指针时, 在运行时, 会自动匹配接口, 可能是基类的接口, 也可能是派生类的;


模板(templates)和泛型编程(generic programming):

隐式接口(implicit interface):typename T, 在函数中, 所必须支持一组操作, 只有支持这些操作, 才能通过编译;

编译期多态(compile-time polymorphism):通过模板(template)的实例化(instantiated)函数模板(function templates), 和重载类似, 都是在编译期绑定.


在隐式接口中, 操作符等重载, 已经包含隐式类型转换.

如果是程序可以通过编译, 无论是类还是模板, 都要需要通过多态满足接口的要求, 否则无法通过编译.


C++ - 展示接口&运行期多态 和 隐式接口&编译期多态