我需要在C++中创建一个模板类。我需要确保模板参数的类型是一个有1个int字段和1个string字段的类(可以有更多的字段,但这两个是必需的)。
例如,在C#中,我可以定义一个带有方法或属性的接口,如下所示:
interface MyInterface {
int GetSomeInteger();
string GetSomeString();
}
然后我可以在我的模板类中使用它:
class MyClass<T> where T: MyInterface {}
有没有办法在C++中做类似这样的事情?
std::enable_if<>
和std::is_base_of<>
来实现,但成员变量则是一个更加复杂的问题。 - user4442671