×

关注微信公众号

免备案网站空间双线空间域名查询咔咔摄影photoshop cs3视频教程
查看: 2828|回复: 15

泛型编程组件4

[复制链接]

该用户从未签到

发表于 2006-11-6 15:35:08 | 显示全部楼层 |阅读模式
4。编译期多态

实现:
template<class T>
class Relex
{
private:
Relex(const Relex&);
Relex& operator = (const Relex&);
public:
typedef T  _HostType;
typedef T& _HostReference;
typedef T* _HostPointer;
public:
Relex() { }
T* GetHostPtr() { return reinterpret_cast<T*>(this); }
};

原理:
模板的迭代编译

使用:
template<class T>
struct A : Relex<T>
{
void func1() { GetHostPtr()->func2(); }
};

template<class T>
struct B : Relex<T>
{
void func2() { GetHostPtr()->func1(); }
};

template<template<class>class T1, template<class>class T2>
class C_Impl : public T1<C_Impl>, public public T2<C_Impl> { };

typedef C_Impl<A, B> C;

该用户从未签到

发表于 2018-6-11 16:53:29 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-6-11 16:13:27 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-6-11 16:58:40 | 显示全部楼层
LZ真是人才
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-6-11 16:30:43 | 显示全部楼层
学习了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-6-11 16:26:09 | 显示全部楼层
果断收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-7-2 20:19:19 | 显示全部楼层
很不错。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-7-2 21:05:36 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-7-2 21:03:10 | 显示全部楼层
难得一见的好帖
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-7-2 21:05:08 | 显示全部楼层
学习了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-7-2 20:22:22 | 显示全部楼层
教程网我挺你
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 20:20:38 | 显示全部楼层
很不错。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 20:04:44 | 显示全部楼层
顶顶多好
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 20:44:28 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-9-24 20:49:23 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [免费注册]

本版积分规则