public class cls {
public static void met() {
}
}
我想在C++ CLI。 方法met
對減速爲cls
的變量不應可見。
我應該能夠:
cls::met();
我不應該能夠:
cls z;
z.met();
public class cls {
public static void met() {
}
}
我想在C++ CLI。 方法met
對減速爲cls
的變量不應可見。
我應該能夠:
cls::met();
我不應該能夠:
cls z;
z.met();
namespace cls {
void met() {
}
}
歡迎C++,享受您的逗留。
真棒,但是現在我不能將變量作爲具有名稱空間的相同名稱...'class cls z;'拋出一個錯誤 – 2013-03-11 09:14:37
你的代碼也不允許我在命名空間範圍內定義屬性 – 2013-03-11 09:39:43
爲命名空間提供另一個名稱,並將它保留爲cls作爲類名 - 你必須使用命名空間的名稱來限定函數:'cls z; cls_namespace :: met();'這與C#中的不一樣。但它*不是C#,畢竟它是C++/CLI。所以你不能在兩種語言中都擁有相同的內容 - 那麼其中一個就是多餘的。 – 2013-03-11 10:36:04
您正在尋找的關鍵詞是'static'。和在C#中一樣。發佈您的最佳嘗試和任何出現的錯誤。 – nvoigt 2013-03-11 09:01:55
@nvoigt我已經使用了static,但'met'對'cls' varialbes是可見的 – 2013-03-11 09:02:48
C++中static的問題是您可以調用對象上的靜態方法,儘管您會收到警告。所以'z.met()'應該編譯。 – 2013-03-11 09:03:24