接口和模板,这样行不?

interface IWriter
{
    void write(U)(U x);
}

class Foo : IWriter
{
    void write(U)(U x, int y)
    {
        writeln(x);
    }
}
void main()
{
}

你没有使用,所以未检查模板.
阿里:函数模板不能为虚函数.函数模板是模板,实例是函数.
用虚表动态分发的语言不知道虚表多大.
Foo.write隐藏了Iwriter.write.名字隐藏不算错.

  auto i = new Foo();
  i.write(1, 2);   //可以编译.
IWriter i = new Foo();
  i.write(1); //链接错误
posted @   zjh6  阅读(12)  评论(0编辑  收藏  举报  
努力加载评论中...
点击右上角即可分享
微信分享提示