2009-12-05 19 views

cevap

15

Sadece biraz doğru sözdizimi varmak için anahtar kelimeleri kadar karıştırın. özet, C# 'da cepheye gider ama sonunda C++/CLI. anahtar kelimesiyle aynı işlevi görür, aynı zamanda bugün işlev bildiriminin son ucunda beklediği C++ 11 uyumlu derleyiciler tarafından tanınır. ilan arasında herhangi bir fark var mı

public ref class SomeClass abstract { 
public: 
    virtual String^ SomeMethod() abstract; 
}; 
+4

"SomeMethod() = 0" ve "SomeMethod() abstract" bildirimleri arasında herhangi bir fark var mı? – Lopper

+1

No. = 0, C++ sözdizimi ancak C++/CLI de bunu destekler. –

+0

@nobugz: Teşekkürler! – Lopper

6

Sen abstract kullanın:

public ref class SomeClass abstract 
{ 
    public: 
     virtual System::String^ SomeMethod() = 0; 
} 
+0

"birYöntem() = 0" ve "birYöntem() soyut": gibi = 0 bir işlev özet işaretlemek için geleneksel C++ yapar? – Lopper

+0

Hayır. Yöntem() = 0, soyut bir sınıf tanımlamak için C++/CLI (yalnızca stnadard C++) olmayan yoldur. C++/CLI ile onu veya yeni soyut anahtar sözcüğünü kullanabilirsiniz. Orijinali kullanmayı tercih ederim, çünkü bu sadece alışkanlıktır ve soyut anahtar sözcük bir yöntem durumunda içeriğe duyarlıdır, ancak çalışır. Bakınız: http://msdn.microsoft.com/en-us/library/b0z6b513(VS.80).aspx –

+0

@Reed Copsey: Teşekkürler! – Lopper