c#中的基元型別有建構函式麼?
1樓:
首先要知道c#中的結構體是不能宣告無引數的建構函式,而帶引數的建構函式是可以宣告的cdlis aperson = new cdlis();例項化結構體cdlis 並沒有帶任何引數,可以認為有兩個建構函式//無段碼引數的建構函式,不可以宣告,胡燃肢加入結構體(struck)變為類(class),則可以宣告public cdlis()
/帶兩個引數的建構函式public cdlis(string name, int age)
name;age;}你的**正好就呼叫了無引數的建構函式,如果這樣例項化cdlis aperson = new cdlis("1",1);就呼叫了你自己宣告的建構函式 ヤ忠情ゞ↘的方法讓我們看到傳入name和age的意義所在,則更像是在弄褲世明白結構體的原理。
2樓:滔滔不絕
共同點:都是例項化物件,初始化資料的。
預設構造是說所有的類都從祖先object那繼承了空隱耐參的構造方法,你不寫與寫空參構造都存在,而有引數的構造一般是自己寫的,寫就有不寫就沒有,它的作用和空參的一樣,只是它裡面可以有參蠢純數,給你個例子來說明吧。
有乙個類monitor它有屬性string height;string
widthpublic monitor()
有乙個空參的乙個有參的構造的方法。
在main方法裡我做初始化動作。
monitor monitor=new monitor();
這個構造只是把顯示器這個物件創造出來了,它的屬性就沒有值,也可以再手動給它賦上值。
如:;;用有參的就不一樣了,少很多事。
monitor monitor2=new monitor("100","200");
在這裡我只要把想放進去的引數直接放進去就能給我的屬性賦上帶攜咐值,是不是省了很多事。
這就是它的優勢!完結!
誰能告訴我c++為什麼一定要類的建構函式?
3樓:網友
不是必須的。
類的建構函式通常用來為類的成員變數初始化。
如果成員變數沒有初始化的必要,或者根本沒有成員變數那麼也沒有必要寫建構函式。
另外,如果乙個類的定義的時候沒有建構函式,那麼,你將沒有方法使用new的方法來新建乙個物件。
比如乙個類test
test *t = new test();//如果需要這樣的操作,那麼必須要有建構函式,就算建構函式什麼也不做。test::test(){這個也是必須要寫的。
另外,建構函式和解構函式成對出現的另乙個目的,是為了更安全的管理記憶體,比如在建構函式中為成員變數分配記憶體,在解構函式中**記憶體。
這些其實都是c++的基本思想的體現,慢慢就會了解了。
4樓:步隨雲
我冒昧的猜測一下,您是自學的吧。。
因為作為oop語言,為了保證語言的完整性和安全性,老師會第一節課告訴以c++是以建構函式開始,以解構函式結束。
請問這個類有幾個建構函式呢?請分別指出那個才是,到底是a,b還是c ?謝謝
5樓:不識臺北路
abc都是建構函式,只不過是三個過載而已。
補充:建構函式的特點:
1.函式名與類名相同。
2.沒有返回值。
6樓:網友
三個都是,建構函式可以過載的,具體呼叫哪個就看你的引數列表了,也就是說具體執行時三選一。
7樓:網友
a,b,c都是,因為建構函式可以過載。
8樓:花膠之家
全部都是,只要函式名和類名一樣。
c#中類有多少個建構函式和
9樓:網友
類的建構函式是需要自己定義的,但如果不做任何定義。.net也會自動為類分配乙個預設的無參建構函式。呼叫的時候只需要以a myclass = new a()這種形式就可以例項化乙個類a的例項。
所以一般建構函式的多少要看你為類定義了多少,定義的越多就越多,不做任何定義就是系統的預設建構函式。
10樓:網友
預設的是無參的 建構函式, 如果是你寫的類,可以根據需要擴充套件出好多。別人類要看應用說明。個數不確認。
11樓:傳奇勇者
沒有確切數,可以有n個。
12樓:網友
這個不需要了太多,會用就行,不會時檢視msdn
c++類建構函式
13樓:支錦凡
建構函式一般都定義成public。否則不能建立物件的。
c++類中建構函式
14樓:網友
乙個是類變數初始化 乙個是賦值···
但凡有const修飾的物件,均只能用初始化進行賦值,
c++類的建構函式
15樓:網友
teacher_cadre c(moster,wangli,changsha,20,f,1354562315,monir,;
這裡面的string都是需要加上引號的。
c++子類的建構函式
16樓:網友
這個叫構造初始化。
class clock:public qlcdnumber;定義clock::clock(qwidget *parent,const char *name):
qlcdnumber(parent,name),showingcolon(true)//這個叫初始化。可以這麼說構造預設初始化showingcolon(true).
也許在其他地方有函式可以設定showingcolon=false;
c建構函式的訪問型別,C 建構函式的訪問型別
一 建構函式是幹什麼的 class counter private 資料成員 int m value 該類物件被建立時,編譯系統物件分配記憶體空間,並自動呼叫該建構函式 由建構函式完成成員的初始化工作 eg counter c1 編譯系統為物件c1的每個資料成員 m value 分配記憶體空間,並呼...
c中建構函式與解構函式的問題,C 中建構函式與解構函式的問題
你的getname函式在 你的類定義中只有getscore和getid c 關於建構函式和解構函式呼叫次數的問題 沒問題啊。引數傳遞的時候第一次拷貝構造呼叫,在函式返回的時候賦值給c2 再次呼叫了拷貝構造。析構的話 c1 c2 c 三次 傳遞引數和返回引數各一次拷貝建構函式,所以是2次 有兩個物件c...
c無參的建構函式問題,C 中無參建構函式的使用問題
vs 2005要求必須要有建構函式,這是一定的不過如果有帶參建構函式,就可以不要無引數的建構函式。至於當類中有帶引數的建構函式時,vs 2005要求有一個無參的建構函式。這只是一種建議。就像你說的,他是為了防範出錯,屬於比較保守的安全程式設計,類似於斷言程式設計一類的規定 就好比說,有一個電器他規定...