模板类如何实现多态?

WuLoveXue 2011-06-16 05:40:41
见代码:

template<typename T>
class Temp
{
virtual void X(T value);
virtual void Y();
};

class Person
{
public:
void Y()
{
a->Y();
}

protected:
Temp<????> *a; //这里????处如何定义?

};

class Teacher: public Person
{
public:
Teacher()
{
a = new Temp<int>;
}

};

class Student: public Person
{
public:
Student()
{
a = new Temp<string>;
}

};



Temp<????> *a; //这里????处如何定义?
...全文
375 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
WuLoveXue 2011-06-22
  • 打赏
  • 举报
回复
嗯,模板成员函数不能是虚函数,也是模板一大限制
meditator_bi 2011-06-18
  • 打赏
  • 举报
回复
模板成员函数为什么不能是虚函数
http://blog.csdn.net/jcwkyl/archive/2009/01/13/3771059.aspx
meditator_bi 2011-06-18
  • 打赏
  • 举报
回复
http://blog.csdn.net/jcwkyl/archive/2009/01/13/3771059.aspx
Haha100001 2011-06-18
  • 打赏
  • 举报
回复
模板类真难啊。
aaa1040122322 2011-06-18
  • 打赏
  • 举报
回复
书上都有
ryfdizuo 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wulovexue 的回复:]

郁闷的是,我不能用BOOST
[/Quote]
你去看一下any,模仿写一个也不难。
WuLoveXue 2011-06-17
  • 打赏
  • 举报
回复
郁闷的是,我不能用BOOST
ryfdizuo 2011-06-17
  • 打赏
  • 举报
回复
lz,Temp<boost::any> *a;可以满足你的要求。
WuLoveXue 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yfkiss 的回复:]

http://blog.csdn.net/longlong_ago/archive/2007/09/06/1774509.aspx
[/Quote]

查到过这文章,解决不了我的问题哈
WuLoveXue 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dizuo 的回复:]

class Person : public Temp<Person>
{
//
};
[/Quote]

但我想用组合实现..
WuLoveXue 2011-06-17
  • 打赏
  • 举报
回复
子类是不能直接访问父类的保护成员a,第一次听这种说法!WHY?
就想叫yoko 2011-06-16
  • 打赏
  • 举报
回复
另外你这种写法其实是有问题的
teacher作为person的子类是不能直接访问person的保护成员a的
class Person
{
public:
void Y()
{
a->Y();
}

protected:
Temp<int> *a; //这里????处如何定义?

};

downmooner 2011-06-16
  • 打赏
  • 举报
回复
<???>里就放你要的类型
ryfdizuo 2011-06-16
  • 打赏
  • 举报
回复
class Person : public Temp<Person>
{
//
};
yfk 2011-06-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/longlong_ago/archive/2007/09/06/1774509.aspx

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧