MC++ Сокрытие имени с помощью интерфейсов
Это зачастую удобно...
А зачастую просто необходимо(к примеру когда оба наследуемых интерфейса имеют функцию с одним именем).
Например, есть 2 интерфейса
Код:
public interface ICloneable
{
object Clone();
}
public interface ICloneable<G> : ICloneable
{
new G Clone();
}
{
object Clone();
}
public interface ICloneable<G> : ICloneable
{
new G Clone();
}
С#
Код:
public class FOO : ICloneable<FOO>
{
int m_foo;
public FOO(int foo)
{
this.m_foo = foo;
}
object ICloneable.Clone()
{
return new FOO(this.m_foo);
}
FOO ICloneable<FOO>.Clone()
{
return new FOO(this.m_foo);
}
}
{
int m_foo;
public FOO(int foo)
{
this.m_foo = foo;
}
object ICloneable.Clone()
{
return new FOO(this.m_foo);
}
FOO ICloneable<FOO>.Clone()
{
return new FOO(this.m_foo);
}
}
MC++
Код:
public ref class FOO : ICloneable<FOO>
{
int m_foo;
public FOO(int foo)
{
this->m_foo = foo;
}
//?????????//
}
{
int m_foo;
public FOO(int foo)
{
this->m_foo = foo;
}
//?????????//
}
И вот тут возникает трудность с сокрытием имен...
Если кто знает как это реализовать на МС++ - отпишитесь пожалуйста