c中與類名同名的函式有什麼特別的地方

2021-05-14 10:02:11 字數 2589 閱讀 2082

1樓:陳韓泰

與類名相同的是類的建構函式。不同的就是類的成員函式。無引數的建構函式式系統預設提供的。

但是當你自己用了有引數的建構函式以後,系統就不提供無引數的建構函式了。但是我們常常會兩種都用,所以經常給建構函式的多個過載

2樓:匿名使用者

通常說,平時我們定義類的時候,不管我們有沒有定義建構函式,都會預設定義了一個和類名相同的無引數的建構函式(所以無參的建構函式寫和不寫都沒什麼區別的)。

但我們有時候要用有引數的建構函式以後,就不能使用系統預設的提供無引數的建構函式了,要定義自己的有參建構函式進行過載。也就是說有參的建構函式是當有外面值傳進來的類例項的時候使用。

3樓:匿名使用者

與類名同名的我們稱之為該類的建構函式,建構函式的存在主要是為了初始化類欄位,比如說私有欄位哈,有引數和沒引數這個要看你建構函式的實際作用來決定的。無引數的建構函式一般式採用系統的預設值進行初始化類欄位,有引數的建構函式意味著你可以在例項的時候傳指定的值給建構函式來初始化你的類欄位或者屬性等。 類中與類名不同的函式一般都是類的成員函式或者類級別的靜態函式,不考慮這些函式的訪問許可權情況下,類成員函式你可以認為就是一個該類的一個功能,他可以是用來給一個類欄位賦值的也可以實現類例項化的或者其他任何你想對該物件的操作。

有引數沒引數,有返回值沒返回值這完全看你要實現的功能~ 簡單的這麼理解就可以了

c# 類名,方法名上面加[]是什麼意思?

4樓:定復

你不如看看這個

attribute,翻譯為特性比較好,屬性的話和類成員的屬性就有衝突的意思了

[***]

class abc

上面的[***]可能是一個繼承了attribute類的特性類的一些說明,也可能是內建的

[***]

public efg()

你這個格式似乎有點不對,這個是建構函式?還是一個成員方法?

建構函式,和類名不同了

如果是方法,但是又沒有返回型別

這個如果是成員方法,上面的***應該就是修飾method(應該是usage使用了這個列舉)的

這個一下也不好說

5樓:

一般都是變數後面加表示陣列吧?類名方法名後面不能加

6樓:匿名使用者

attribute,屬性

常見的屬性有

[serializable]:支援序列化

[nonserialize]:不支援序列化[obsolete]:廢棄的類

[dllimport]:匯入dll

7樓:匿名使用者

attribute。搜尋一下吧。

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

8樓:匿名使用者

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

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

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

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

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

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

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

9樓:大海泛舟

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

10樓:匿名使用者

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

11樓:非馬

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

12樓:匿名使用者

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

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

關於C類中帶函式的問題,關於C類中帶函式模板的問題。。

include using namespace std class student class manage int main 大概按照上面的來寫就可以了 大致明白你的意思了。你是想用c 的stl標準的algorithm演算法來排序對吧?如果是這樣,你得自己寫乙個iterator類的東西來處理你的資...

C 類名後加冒號是什麼意思,C 建構函式後面加冒號是什麼意思?後面應該加什麼內容呢?是賦初值嗎?

文件類共創空間 c 如下定義類函式後加冒號是表示函式屬於這個類,類的成員函式定義在類外面的時候需要這麼用。類的成員函式描述的是類的行為,是程式演算法的實現部分,是對封裝的資料進行操作的方法。類的成員函式的原型要寫在類體中,原型說明了函式的參數列和返回值型別。而函式的定義一般在類外面,也可以直接在類內...

C指標與C指標有什麼區別,C類的物件和類的指標的區別,指標和引用的區別

c 裡面的指標可以指向物件 動態申請記憶體的時候用new運算子 c語言的指標指向的是記憶體 不懂物件 動態申請記憶體的時候用malloc系列的函式 都一樣,為乙個4或8位元組的變數,儲存乙個位址值 指標都是一樣的,根據個人需要定義 感覺都是一樣的啊 有區別嗎?c 指標與c指標有什麼區別?c 裡面的指...