如何使用模板C++使方法通用?
假设下面的摘要。如何替换副本:
template<>
ClassB<ClassA<float> >::ClassB() {}
template<>
ClassB<ClassA<int> >::ClassB() {}
将其替换为一个?我想将其放在CPP文件中,因此不是标题:
我尝试了:
template<>
ClassB<ClassA<> >::ClassB() {}
和:
template<typename T>
ClassB<ClassA<T>>::ClassB() {}
template<typename B>
class ClassA {
public:
B member;
void call() {};
};
template<typename A>
class ClassB {
A a;
public:
ClassB();
void call() { a.call();};
};
template<>
ClassB<ClassA<float> >::ClassB() {}
template<>
ClassB<ClassA<int> >::ClassB() {}
int main() {
ClassB<ClassA<float> > b;
b.call();
}
Assume the snippet below. How can I replace the duplicate:
template<>
ClassB<ClassA<float> >::ClassB() {}
template<>
ClassB<ClassA<int> >::ClassB() {}
And replace this for one? I want to place this in the CPP file so not header:
I tried:
template<>
ClassB<ClassA<> >::ClassB() {}
And:
template<typename T>
ClassB<ClassA<T>>::ClassB() {}
template<typename B>
class ClassA {
public:
B member;
void call() {};
};
template<typename A>
class ClassB {
A a;
public:
ClassB();
void call() { a.call();};
};
template<>
ClassB<ClassA<float> >::ClassB() {}
template<>
ClassB<ClassA<int> >::ClassB() {}
int main() {
ClassB<ClassA<float> > b;
b.call();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论