gpt4 book ai didi

C++:强制模板类型实现一个方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:22 25 4
gpt4 key购买 nike

我有一个模板类,我想知道是否可以强制模板类类型实现某个接口(interface),特别是我想强制该类型重载 operator= 方法.在 Java 中我会写:

public class Tree<T implements IComparable>{
public Tree(Vector<T> x){...}
}

C++ 中的替代方案是什么?

最佳答案

假设它确实如此,只需编写代码即可。否则,当用户传入不符合的类型时,它将无法编译。这里不需要明确的特征。但是为什么你会为此需要像 IComparable 这样的接口(interface)呢?模板是鸭子类型的。

但是模板错误可能会变得很糟糕。您可以使用类型特征和静态断言来简化此过程。但是,标准不提供这样的特征,因此您必须使用 SFINAE 编写一个。

关于C++:强制模板类型实现一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12933634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com