C作業,編寫程式定義員工類,定義預設建構函式和帶引數的建構函式

2021-05-14 10:03:13 字數 4214 閱讀 1029

1樓:匿名使用者

public class employeepublic employee()

public employee(string name)}但實際當中會寫成下面這樣

public class employeepublic employee(string name = null)}

(c#) 什麼是預設建構函式?如果類只有一個預設建構函式,物件的例項變數是如何初始化的?

2樓:匿名使用者

預設構造還是是與類同名的函式, 物件的變數初始化直接用new+建構函式例項化.

3樓:匿名使用者

如果在一個類中沒有任何建構函式,這個類會有一個無參建構函式 public 類名(){},在例項化這個類時,程式先在記憶體的託管堆中為此類開闢一塊空間,然後建立這個類,最後於呼叫這個類的無參建構函式。

如果一個類中定義了有參建構函式,這個類就不會再產生無參建構函式了,例項化時就可以按照引數呼叫對應的建構函式。

4樓:匿名使用者

預設建構函式是不含引數的和建構函式,例項變數的初始化是定義時就自動賦值了吧,

如果是數值型的,如果不賦值的話,預設為0,其他型別預設為null

5樓:匿名使用者

預設建構函式(default constructor)就是在沒有顯式提供初始化式時呼叫的建構函式。它由不帶引數的建構函式,或者為所有的形參提供預設實參的建構函式定義。如果定義某個類的變數時沒有提供初始化式就會使用預設建構函式。

6樓:匿名使用者

開闢一個堆記憶體,先分配物件本身this指標的記憶體,然後是同步塊索引,例項變數指標。

(c#) 什麼是預設建構函式?如果類只有一個預設建構函式,物件的例項變數是如何初始化的?

7樓:邊淑蘭查羅

因為你定義變數的時候寫了預設值

private

intindex=1;

如果不寫

private

intindex;

那這個index就不會有預設值

所謂建構函式只是new的時候固定會走的一個方法罷了,沒有特殊意義,不會執行特殊功能

8樓:圭德文倫亥

預設建構函式(default

constructor)就是在沒有顯式提供初始化式時呼叫的建構函式。它由不帶引數的建構函式,或者為所有的形參提供預設實參的建構函式定義。如果定義某個類的變數時沒有提供初始化式就會使用預設建構函式。

9樓:太叔秀雲邵鶯

預設建構函式是不含引數的和建構函式,例項變數的初始化是定義時就自動賦值了吧,

如果是數值型的,如果不賦值的話,預設為0,其他型別預設為null

10樓:壤駟若谷昌凰

預設構造還是是與類同名的函式,

物件的變數初始化直接用new+

建構函式

例項化.

11樓:龍煙荀申

如果在一個類中沒有任何建構函式,這個類會有一個無參建構函式public

類名(){},在例項化這個類時,程式先在記憶體的託管堆中為此類開闢一塊空間,然後建立這個類,最後於呼叫這個類的無參建構函式。

如果一個類中定義了有參建構函式,這個類就不會再產生無參建構函式了,例項化時就可以按照引數呼叫對應的建構函式。

c#,怎麼區分預設建構函式和建構函式,等...

12樓:左洛飛

1 因為你new一個類 沒有加引數所以呼叫的是第一個建構函式 如果你寫類的時候不加建構函式 系統是會給他一個預設的因為new 一個類會首先呼叫建構函式

2 this.name 是指當前類的name 也就是name是指這個函式的引數那麼

3 因為 他有返回值 建構函式是沒有返回值的

13樓:匿名使用者

no.1:首先建構函式沒有返回值定義,void也不行。沒引數的就是預設建構函式;再有,定義了一個有引數的建構函式,就無法呼叫預設建構函式。

no.2:是滴。不過不建議這樣命名,最好有區別,容易頭暈;推薦引數名前加set字首,這樣程式設計時一目瞭然。

no3:最直觀的判斷是名稱後面有(),以及大括號內的方法語句,沒的話有可能是屬性,不過索引屬性this[object var]後面可是有

用c#編寫段程式, 定義一個point類,實現其有引數和無引數兩種建構函式

14樓:老鳥vs菜鳥

class point

////// 無參

///public point()}

用c#寫段程式,定義一個point類,實現其有引數和無引數兩種建構函式。

15樓:老鳥vs菜鳥

class point

////// 無參

///public point()}

在c#語言有這麼一段**,為什麼要建立一個有引數和一個無引數的呢? 還有建構函式的形參傳遞給類成員

16樓:

如果沒有無引數建構函式,下面建立空物件new student()建立不了,有引數的建立非空物件

c#程式理解,怎麼理解建構函式,建構函式名字為什麼和類名是一樣的呢??

17樓:匿名使用者

建構函式是物件導向的程式設計中出現的一種方法,它是每個類都會有的方法,作用是構造及初始化物件。為了程式編譯時能很好地辨識這個必須的「建構函式」。那這個建構函式的名字最好就有一定的規定。

現在規定了建構函式名字和類名一致,編譯時就知道哪些是建構函式, 例項化物件時就會呼叫合適的建構函式進行類的例項化。

建構函式 是一種特殊的方法 主要用來在建立物件時對物件進行初始化。即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。特別地,一個類可以有多個建構函式 可根據其引數個數的不同或引數型別的不同來區分它們,就是建構函式的過載。

建構函式是類自己在物件剛剛建立時候自己呼叫的,一般不允許使用者自己顯示呼叫建構函式。使用者只要將建構函式寫好,類在例項化物件的時候自動呼叫合適的建構函式對物件進行初始化(若有多個建構函式,系統會根據建構函式的形參來進行選擇)。

你可能會看到有些類沒有建構函式,這時候編譯器會自動生成一個形參為空的函式體為空的建構函式給該類。總之,建構函式是必須的。

你說的不懂的地方,其實就是在例項化kkk這個物件的時候,即kkk剛建立的時候,系統對自動呼叫一次program類的建構函式。這就是建構函式唯一一次呼叫的地方。使用者是不能顯示呼叫建構函式的。

這和c語言是有區別的,建構函式用於物件的初始化,這樣可以使物件的封裝性更好。

18樓:大海泛舟

可以這樣理解,它就像是做程式一樣,後臺中可能有好多的事件,但必須要執行的是page_load事件,讓它顯示一些值,別的事件你可以呼叫也可以不用;再說的白一點,就是給這個類賦一個初始值,使程式知道有這麼個類,它必須執行的就是這個建構函式,然後你可以對這個類裡面其它資料進行修改

19樓:匿名使用者

建構函式只有在類被例項化時(new時)呼叫一次,也可以理解成對類的初始化動作!

20樓:非馬

在c#中例項化類的時候總會自動呼叫建構函式,就算你沒有定義建構函式,編譯器也會自動加上一個預設的建構函式。不存在為什麼。

21樓:匿名使用者

建構函式是類實列化的依據,

建構函式名字和類名一樣是一種約定,談不上為什麼

c#中例項化的時候,new關鍵字用於建立物件和呼叫建構函式。呼叫建構函式是什麼意思?

22樓:飛天殺手

c#中方法就是函式,而建構函式就是與類名同名的方法,比如

public class test

}呼叫的時候就要 test  t =  new test();  respose.write(t.isflag);

23樓:叫什麼呢嫩

建構函式就是為了初始化類內部的成員變數,新建一個類的時候,會有預設的建構函式,而且是隱藏的,當你手工建立一個建構函式的時候,那預設的建構函式將不復存在

24樓:

對物件的內部成員進行初始化!

c語言編寫程式實現以下功能定義有元素

include void main void int i,j,k 0,m 0,n 0 for i 0 i 10 i 專scanf d a i for i 0 i 10 i n a i printf 最大值為 屬 d,最小值為 d,平均值為 d n a k a m n 10 c語言編寫程式完成以下功能...

c需要編寫程式,1 ,c需要編寫程式,1 1 2 1 3 1 4 1 5 1 6 1 7 1

1 1 2 1 3 1 4 1 5 1 6 1 7 1 10 1 1 2 1 3 1 4 1 5 1 6 1 7 1 10 1 1 2 1 3 4 1 5 6 1 9 10 include int main 用c 編寫程式函式求表示式1 1 2 1 3 1 4 1 5 1 6 1 7 1 n的值 f...

C 編寫程式,如題,C 編寫一個程式,如題

include void main int i double n,s 1 定義doublefor i 1 i 30 i int a 1 n 1 初始化 while a i n n 1.0 a a a 1 這裡是等於 s s n cout 和為 第二題 include void main int i ...