C++模板特化一个成员函数
模板编程用的很少,今天碰到一个。
问题是这样的: 我想要在一个模板类中,特化一个成员函数,不知道能不能做到?
template<typename T> class A {
void Foo() {
// some common steps
...
// a special step
Bar();
}
void Bar();
}
对于类型T1和类型T2来说, 他们的Bar() 中的操作是不一样的。
不知道怎样才能做到?
========================
我现在暂时把Bar() 写成了一个非成员的模板函数,但是感觉好像很丑,而且这样不能用到成员变量。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以只特化一个类模板的某个成员函数
没办法,你得把Bar放到外面去,举个例子:
很久没写C++了,但friend function肯定解决成员变量访问的问题。
关于模板函数这里有Sample和讲解
希望对你有用