有一道這樣的題:寫出c#中new關鍵字的三種用法,思前想後挖空心思也只想出了兩種用法,回來查了下msdn,還真是有第三種用法: 用於在泛型宣告中約束可能用作型別引數的引數的型別,這是在framework 2.0 中定義泛行時才會使用到的,自己對c# 2.0 中的支援還只是 粗通皮毛,怪不得累死so many腦細胞也沒能想不出這第三種來!
三種用法如下:
在 c# 中,new 關鍵字可用作運算子、修飾符或約束。
2)new 修飾符:在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。
3)new 約束:用於在泛型宣告中約束可能用作型別引數的引數的型別。
關於第二種用法看下例:
using system;
public int truevalue
set }}
public class derivedb : basea
new public int truevalue
set }}
class test}}
new約束指定泛型類宣告中的任何型別引數都必須具有公共的無引數建構函式.請看下例:
using system;
using system.collections.generic;
public employee(string s, int i)
public string name
set
}public int id
set }}
class itemfactorywhere t : new()
}public class test
'id is .", employeefactory.getnewitem().name, employeefactory.getnewitem().id);}}
}三種用法如下:
在 c# 中,new 關鍵字可用作運算子、修飾符或約束。
2)new 修飾符:在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。
3)new 約束:用於在泛型宣告中約束可能用作型別引數的引數的型別。
關於第二種用法看下例:
using system;
public int truevalue
set }}
public class derivedb : basea
new public int truevalue
set }}
class test}}
new約束指定泛型類宣告中的任何型別引數都必須具有公共的無引數建構函式.請看下例:
using system;
using system.collections.generic;
public employee(string s, int i)
public string name
set
}public int id
set }}
class itemfactorywhere t : new()
}public class test
'id is .", employeefactory.getnewitem().name, employeefactory.getnewitem().id);}}
}
c new的用法總結
c 中,new的用法很靈活,這裡進行了簡單的總結 1.new 分配這種型別的乙個大小的記憶體空間,並以括號中的值來初始化這個變數 2.new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數 include include using namespace std int main...
C new 運算子 用法總結
1.分配記憶體初始化標量型別 如 int 或 double 在型別名後加初始值,並用小括號括起,c 11中也支援大括號。int pi new int 6 double pd new double 9.99 c 11中,支援以下寫法 int pi new int double pd new doubl...
C new 用法說明
int a newint 這句相當於 int a 0 a 是空 int a new int 20 這句的本質是指標指向乙個 int20 的空間 在堆裡 這個與class 類似的。1 new運算子 用於建立物件和呼叫建構函式。這種大家都比較熟悉,沒什麼好說的了。2 new修飾符 在用作修飾符時,new...