在C#中,您可以执行以下操作:
public interface ILogger
{
void Log<TType>(TType record);
}
然后您实际上将编写一个实现。
public class Example : ILogger
{
public void Log<Turbidity>(Turbidity record)
{
// Implementation
}
}
public class AnotherExample: ILogger
{
public void Log<Conductivity>(Conductivity record)
{
// Implementation
}
}
尽管看不到参数类型的确切翻译。我看过的例子都期望这种方法:
#define Example_h
generic <class ILog>
public interface class Sensor {
void Log(ILog record);
};
class Example : public Sensor {
public:
void Log(String record);
};
语法似乎不太流畅,即使是该C#的正确转换?
在C ++中,接口称为纯虚拟类。 Pure Virtual类是所有方法都是虚拟的类。