如何使用模板C++使方法通用?

发布于 2025-02-12 09:56:01 字数 991 浏览 0 评论 0原文

假设下面的摘要。如何替换副本:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文