1樓:蝸牛優選推薦
建構函式是在建立給定型別的物件時執行的類方法。建構函式具有與類相同的名稱,它通常初始化新物件的資料成員。
在下面的示例中,定義了乙個具有乙個簡單的建構函式,名為 taxi 的類。然後使用 new 運算子來例項化該類。在為新物件分配記憶體之後,new 運算子立即呼叫 taxi 建構函式。
public class taxi
}class testtaxi
}不帶引數的建構函式稱為「預設建構函式」。無論何時,只要使用 new 運算子例項化物件,並且不為 new 提供任何引數,就會呼叫預設建構函式。
2樓:我的她最美
構造器沒有修飾符,名稱與類名相同,在例項化類的時候會自動執行構造器裡面的內容,每個類宣告的時候都會預設乙個構造器。
如:class a //你宣告時候的樣子
等價於class a:object//所有類都繼承與object類} 構造器與方法的最大區別在於構造器沒有任何修飾符。是一種特殊的方法
3樓:
樓上例子已經很好了。
個人認為還是應該先系統的看看基礎知識吧,這不光是c#的事情,學習還是得講究點方法。
c#中建構函式的定義?
4樓:匿名使用者
建構函式是在建立給定型別的物件時執行的類方法。建構函式具有與類相同的名稱,它通常初始化新物件的資料成員。
c#中建構函式的作用
5樓:綺綺寶媽
共同點:
都是例項化物件,初始化資料的
預設構造是說所有的類都從祖先object那繼承了空參的構造方法,你不寫與寫空參構造都存在,而有引數的構造一般是自己寫的,寫就有不寫就沒有,它的作用和空參的一樣,只是它裡面可以有引數,給你個例子來說明吧
有乙個類monitor它有屬性string height;string
width
public monitor(){}
public monitor(string height,string width){}
有乙個空參的乙個有參的構造的方法
在main方法裡我做初始化動作
monitor monitor=new monitor();
這個構造只是把顯示器這個物件創造出來了,它的屬性就沒有值,也可以再手動給它賦上值
如:monitor.height=100;
monitor.width=200;
用有參的就不一樣了,少很多事
monitor monitor2=new monitor("100","200");
在這裡我只要把想放進去的引數直接放進去就能給我的屬性賦上值,是不是省了很多事?
這就是它的優勢!
回答完結!
6樓:匿名使用者
簡單的來說建構函式就是用來建立物件用的,說的專業些叫例項化物件。
定義:class a
}使用:
a a=new a();//在這裡,a()就是就是建構函式。
需要注意的一點是,如果類裡面沒有定義建構函式,編譯器也會自動生產乙個空建構函式,類的各個成員都賦上預設值。
但是如果在類裡面只定義了乙個私有的建構函式的時候,那麼這個類將不能被例項化。
class a
//這個類不能被例項化
} 如果我們定義了帶引數的建構函式,而沒有定義不帶引數的建構函式,那麼在例項化這個類的物件的時候必須提供引數。
class a
} 不能這麼例項化物件 a a=new a();
7樓:匿名使用者
建構函式分為動態建構函式和靜態建構函式。
動態建構函式是類或結構例項化時,為其分配記憶體空間,完成類或結構當中成員變數的初始化工作。動態建構函式可以過載,即相同建構函式名稱擁有不同型別和數目的多個建構函式。帶引數的建構函式和不帶引數的建構函式沒有本質區別,帶引數的建構函式可以通過傳入的變數控制或者直接初始化其中的成員變數,在建構函式中可以為成員變數初始化預設值。
靜態建構函式不允許攜帶引數,即乙個類中只允許有乙個靜態建構函式。它在第一次訪問靜態成員或者第一次例項化動態該類的物件之前呼叫。
C 建構函式的任務是什麼,在c 類中,定義建構函式的目的是什麼
建構函式通常用於在例項化物件時自動對內部資料成員初始化,設定初始值 分配記憶體空間等。而析構函式則用於刪除物件時做收尾工作,比如釋放申請的空間等。要建立乙個物件,就得呼叫建構函式。要銷毀乙個物件,就會被迫的呼叫析構函式。如果成員函式宣告稱static,不建立物件也能呼叫 靜態成員函式。根據你的需要來...
C語言函式定義問題,c語言定義函式是什麼
x,y用空格隔開,就可以一次讀,至於斷開 可以用加斷點除錯看是在 斷的。這段 沒有問題啊,怎麼呼叫失敗了?scanf d d x,y 用空格隔開,別用逗號。c語言定義函式是什麼?將 段封裝成函式的過程叫做函式定義。函式可以重複使用的 用來獨立地完成某個功能,它可以接收使用者傳遞的資料,也可以不接收。...
c 建構函式有什麼用途,C 建構函式有什麼用途?
大哥,你說的是析構函式!析構函式是類的乙個特殊的成員函式,其函式名稱是在類名的前面加上 它沒有返回值,也沒有引數。乙個類中只能擁有乙個析構函式,所以析構函式不能過載。析構函式是 反向 的建構函式。它們在物件被撤消 時呼叫。析構函式的名 稱除了最前面的 符號外,與類的名稱相同。例如,類string的析...
C關於成員函式建構函式的問題
1.是的,對資料成員的初始化可以通過其函式成員,但系統在沒有建構函式的情況下就會自動呼叫預設的建構函式,建構函式是專門進行初始化的。別的函式有別的函式的用途。2.類的資料成員在定義時是不允許初始化的,初始化是通過建構函式的 class date 其初始化是通過建構函式的,當然可以啦!3.以摟住給的題...
C「建構函式」是什麼意思啊!和函式又有什麼區別啊,struct我在類裡面的函式,那是什麼函式
你學到 類 了嗎?如果沒學到你肯定是不懂得。struct的函式叫結構函式。意思就是結構體內也有函式。與建構函式相對的是解析函式。談到建構函式,不得不說 類 class 乙個類就相當於乙個設計圖。但設計圖上的內容不是實實在在的。所以用 建構函式 來把它構造出來,但為什麼要叫函式呢?應為建構函式可以跟引...