条款41:了解隐式接口和编译期多态
来源:互联网 发布:葫芦娃 知乎 编辑:程序博客网 时间:2024/05/13 05:35
/*条款41:了解隐式接口和编译期多态*/// 重载函数(编译期多态)虚函数绑定(运行期多态)//类和模板都支持接口和多态,对于类而言接口是显式的,以函数签名为中心,多态则是通过虚函数发生于生运行期// 对于模板而言接口是隐式的,奠基于有效表达式,多态则是通过模板卡具现化和函数重载解析发生于编译期#include<iostream>using namespace std;class Widget {public:Widget();virtual ~Widget();virtual size_t size()const;virtual void normalize();void swap(Widget&other);};//范例一void doProcessing(Widget&w) {// w必须支持widget接口 显式接口if (w.size()/*多态:运行时决定调用哪个虚函数*/ > 10 && w != someNastyWidget) {Widget temp(w);temp.normalize();temp.swap(w);}}//范例二template<typename T>void doProcessing(T&w) {//这里的w必须支持size,normalize swap成员函数,拷贝构造函数(建立temp)不等比较 相当于隐式接口implicit,这里的以不同的template参数具现化函数模板,会导致调用不同的函数,这就是所谓的编译期多态if (w.size() > 10 && w != someNastyWidget) {T temp(w);temp.normalize();temp.swap(w);}}int main() {}
0 0
- 条款41:了解隐式接口和编译期多态
- 条款41:了解隐式接口和编译期多态
- 条款41:了解隐式接口和编译期多态
- 条款41:了解隐式接口和编译期多态
- Effective C++:条款41:了解隐式接口和编译期多态
- 条款41、隐式接口和编译期多态
- 条款41:了解隐式接口和编译器多态
- 《Effective C++》41: 了解隐式接口和编译期多态
- 读书笔记《Effective C++》条款41:了解隐式接口和编译器多态
- 1.了解隐式接口和编译期多态
- Effective C++ Item 41 了解隐式接口和编译期多态
- 《Effective C++》读书笔记之item41:了解隐式接口和编译期多态
- 了解隐式接口和编译期的多态(Effective C++_41)
- 理解隐式接口和编译期多态
- 了解条款
- C++箴言:理解隐式接口和编译期多态
- C++箴言:理解隐式接口和编译期多态
- Item 41 隐式接口和编译时多态
- C++ string类型的split字符串分割函数
- 线段树查询
- 用硕鼠下载土豆视频
- 野人学Android基础篇之网络通讯第二课--本地apache服务器与Android的连接
- 观察UDP buffer size 情况
- 条款41:了解隐式接口和编译期多态
- PAT(甲级)1058
- 条款42:了解typename的双重意义
- PAT(甲级)1059
- 软件测试与验证 prime_path 基路径算法暴力版
- 关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案
- 图解Linux命令之--chattr命令
- 007:Reverse Integer
- Codevs P1669 运输装备