C++/CLI中以下C#代码的等效代码是什么?C++/CLI:如何在C++/CLI中声明抽象(在C#中)类和方法?
public abstract class SomeClass
{
public abstract String SomeMethod();
}
C++/CLI中以下C#代码的等效代码是什么?C++/CLI:如何在C++/CLI中声明抽象(在C#中)类和方法?
public abstract class SomeClass
{
public abstract String SomeMethod();
}
只是混淆了关键字位在正确的语法到达。 摘要在C#中处于前沿,但在C++/CLI中处于末尾。与覆盖关键字相同,现在也被符合C++ 11规范的编译器认可,该编译器期望它在函数声明的端处。像= 0
确实在传统的C++标记的功能抽象:
public ref class SomeClass abstract {
public:
virtual String^ SomeMethod() abstract;
};
您使用abstract
:
public ref class SomeClass abstract
{
public:
virtual System::String^ SomeMethod() = 0;
}
有声明之间的任何差异 “的someMethod()= 0” 和 “的someMethod()抽象的”? – Lopper 2009-12-05 01:44:10
不是。 Method()= 0是定义抽象类的非C++/CLI(只是stnadard C++)的方式。使用C++/CLI,您可以使用它或新的抽象关键字。我更喜欢使用原文,因为它只是习惯,抽象关键字在方法的情况下是上下文敏感的,但是可以工作。请参阅:http://msdn.microsoft.com/en-us/library/b0z6b513(VS.80).aspx – 2009-12-05 01:48:02
@Reed Copsey:谢谢! – Lopper 2009-12-05 02:47:12
声明“SomeMethod()= 0”和“SomeMethod()抽象”有什么区别吗? – Lopper 2009-12-05 01:44:52
No. = 0是C++语法,但C++/CLI也支持它。 – 2009-12-05 02:19:46
@nobugz:谢谢! – Lopper 2009-12-05 02:46:20