使用模板实现编译期间多态-阿里云开发者社区

开发者社区> 泳泳啊泳泳> 正文

使用模板实现编译期间多态

简介:
+关注继续查看


#include <iostream>
using namespace std;

class DemoOne{
public:
	void f(bool someParm=true){ cout<<"DemoOne f functions\n";}
	void g(){ cout<<"DemoOne g functions\n";}
	// other functions...
};


class DemoTwo{
public:
	void f(){ cout<<"DemoTwo f functions\n";}
	void g(double a=1.12,double b=1.123){ cout<<"DemoTwo g functions\n";}
	// other functions...
};

template<typename T>
void h(T& t){
	t.f();
	t.g();
}

int _tmain(int argc, _TCHAR* argv[])
{
	DemoOne one;
	DemoTwo two;
	h(one);
	h(two);
	
	return 0;
}

image


==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2012/04/19/2458017.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9973 0
Auto Scaling 通过启动模板来使用伸缩服务
功能说明 AutoScaling伸缩组长期依赖的伸缩配置信息本质上就是Ecs实例配置,考虑到Ecs推出了持久化Ecs实例配置的启动模板,因此AutoScaling 将伸缩组与启动模板结合,用户可以通过直接在创建伸缩组时选择启动模板来使用弹性伸缩 伸缩组使用启动模板的默认版本与最新版本而非指定版本时.
3110 0
解决sitemesh3装饰页面不能使用freemarker标签问题
如题,这个问题其实在sitemesh2中已经很好的解决了,不过在sitemesh3中可能没有解决,所以要自己写代码解决了,下面我先讲下sitemesh2是如何解决的: sitemesh-freemarker com.
888 0
FreeMarker 一二事 - 静态模板的使用与生成
如今前后端分离,动静分离 使用freemarker实现动静分离,nginx处理静态资源文件,提高效率 加载jar包 1 2 3 org.
574 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13733 0
symbian使用HookLogger检测内存泄漏
查找内存泄漏的代码 大部分的问题都是在一个函数内把参数alloc。而没有释放原来的内存。 一、 打开“开始”菜单中的“运行” 输入 : cmd //进入命令行模式 devices //这个命令可以查看我们的开发机器上安装了几个symbian SDK //S60_3rd_MR_2:com.
854 0
视图层的引用和模板使用
引用: axml提供两种文件引用方式import和include。    (1)import import可以加载已经定义好的template。             比如,在item.axml中定义了一个叫item的template。
251 0
326
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载