5請問C 的class和C裡面的struct有什麼

2022-05-08 10:02:57 字數 4664 閱讀 1087

1樓:匿名使用者

在標準c++中,struct和class有兩個區別:

第一:struct中的成員預設是public的,class中的預設是private的。

第二:在用模版的時候只能寫template 或template 不能寫template 。

此外,如果沒有多型和虛擬繼承,在c++中,struct和class的存取效率完全相同!簡單的說就是,存取class的data member和非virtual function效率和struct完全相同!不管該data member是定義在基類還是派生類的。

如果不是為了和c相容,c++中就不會有struct關鍵字。因此建議是:如果不需要與c相容或傳遞引數給c程式,不要在c++中用struct。

注意class的data member在記憶體中的佈局可不一定是data member的申明次序。c++只保證處於同一個access section的data member按照申明次序排列。

2樓:匿名使用者

struct的所有功能都可用class實現,此外class中的成員還可分為private,protected,public三類,而且還可定義成員函式,等等。

3樓:匿名使用者

一:結構是值型別,值型別分配在堆疊上

類是引用型別,分配在堆上

二:結構是隱式的sealed,不能繼承和被繼承,但是可以繼承介面

類是完全擴充套件的,多型、繼承等

三:結構相對於類:

沒有預設的建構函式,

沒有解構函式,沒有abstract和sealed不能有protected修飾符

可以不用new初始化

在結構中例項化欄位是錯誤的

4樓:珈藍鴻信

一個是類,一個是結構

在c++中這兩者並沒有多大區別

在c++中struct也是一種class,只是預設的訪問許可權不同而已c中的struct就只能放一些變數不能放函式...

請問c++的類和c裡面的struct有什麼區別

5樓:宣小翠習韋

c++裡面的類預設狀態時private的

而且可以有成員函式

更安全c裡面的struct

預設是public,一般不能有成員函式而只有資料成員謝謝採納

6樓:徭沛萍招迪

類預設是私有的

struct預設是公有

而且類可以自定義建構函式,

struct有預設的建構函式(參考c++

pimer)

7樓:

(1)c++類中屬性預設訪問型別為private,而c++中的struct預設的訪問型別為public

(2)c++類可以有繼承,虛擬函式,多型,而c++中struct不可以。

c語言struct裡面不可以有函式,只能有變數。 c++給c中的struct功能擴充套件了

8樓:

原來c語言裡只有結構體struct,而且不允許在裡面定義函式。後來c++對c做了擴充,併產生了class,但注意的是,struct 還是值型別,而 class 是物件型別,不過在c++裡struct可以理解成為一種特殊的類,結構體和類可以通用.

9樓:圭騫騫磨燕

如果你在c++編譯器利用

你說的是c++中

class

和struct

有兩個區別

1.同上面他們說的

class

成員預設是

private

struct

成員預設是

public

2.class

繼承方式預設是私有繼承

struct

繼承方式預設是共有繼承

如果你說的是c++的類

和c裡面的struct

區別類有虛表

支援物件導向特性

struct只不過是多種資料成員簡單的封裝編譯器構造的時候是不一樣的

太多了一句話兩句話也說不清楚。況且我也不都清楚建議查現代編譯原理

10樓:匿名使用者

唯一區別就是

struct預設的成員的訪問型別是public

class預設的成員訪問型別是private

11樓:匿名使用者

類和結構體的區別

1. class和structure很相似, 從技術層面講,class是引用,而structure則是數值. 有人很形象的說

class裡有行動,方法,成員,是有機體的結合,而structure則是活生生的有機體,

2. 通俗的理解,class包涵structure, class裡有方法拉,成員拉,什麼滴,

而structure只有資料,

一.類與結構的示例比較:

結構示例:

public struct person}

類示例:

public class testtime}

呼叫過程:

public class test}

〈由廈嫻睦

c++的類和c裡面的struct有什麼區別?

12樓:匿名使用者

c++類裡面有成員函式,預設私有

c++的結構預設為共有

c語言結構,是值型別,不能有函式

13樓:御含靈

c++的struct和class是一回事,不過用struct宣告的結構,所有的成員和函式預設都是public的,class裡面所有的成員和函式預設都是private;c++的結構可以繼承

c裡面的結構只是變數的聚合體,結構不能有函式,c++的struct可有構造和解構函式 複製 以及其他成員函式;除了這一點其他都是一樣的

14樓:匿名使用者

(1)c++類中屬性預設訪問型別為private,而c++中的struct預設的訪問型別為public

(2)c++類可以有繼承,虛擬函式,多型,而c++中struct不可以。

c語言struct裡面不可以有函式,只能有變數。 c++給c中的struct功能擴充套件了

15樓:匿名使用者

(2)c 類可以有繼承,虛擬函式,多型,而c 中struct不可以。 c語言struct裡面不可以有函式,只能有變數。 c 給c中的struct功能擴充套件了 唯一區別就是

16樓:卞壯海流如

c++的struct可以當作class來用,他和c++中class的唯一的區別是,class中的成員預設是private,而struct的成員預設為public。

c中的struct只能是一些變數的集合體,可以封裝資料卻不可以隱藏資料,而且成員不可以是函式。

17樓:顧定宓蕙

struct的成員的預設訪問說明符為public,而class的成員的預設訪問說明符為private。其他沒有區別

c 的類和c裡面的struct有什麼區別

18樓:答題太累了

c++類裡面有成員函式,預設私有 c++的結構預設為共有 c語言結構,是值型別,不能有函式

19樓:蝦小趴

c裡面有類嗎?c++中的吧,

對於c++中的,我這裡可以給你說一些,

從語法上說:class和struct做型別定義時有兩點區別:

(1)、預設的繼承許可權。如果沒有什麼明確的指定的話,來自class的繼承是按照private繼承來處理的;來自struct的是按照public繼承來處理的。

(2)、成員的預設訪問許可權:class預設是private的,struct預設是public的。

20樓:答琇晶林宸

(1)c++類中屬性預設訪問型別為private,而c++中的struct預設的訪問型別為public

(2)c++類可以有繼承,虛擬函式,多型,而c++中struct不可以。

c語言struct裡面不可以有函式,只能有變數。

c++給c中的struct功能擴充套件了

c++中的struct和class的區別是什麼??

21樓:匿名使用者

在c++中都表示類,唯一的區別是預設的訪問許可權不同。struct預設的訪問許可權是public,class預設的訪問許可權是private。

測試**:

#include

struct a

};class b

};int main()

22樓:匿名使用者

區別就是:struct如果不寫訪問許可權的話,預設是public。而class預設是private,除此之外兩者完全相同。

23樓:magic_旭

區別主要在於二者的訪問許可權,struct的預設訪問許可權是public,而已class則是private,另外struct不能像class那樣繼承

24樓:天好好藍

現在的c++編譯器,會將struct轉為class解釋,所以這個層面沒有區別。

struct預設成員訪問許可權public,class為private

c語言裡面的關鍵字發音,c語言裡面的32個關鍵字發音

中文譯音跟後面了 auto 宣告自動變數 一般不使用 奧透 double 宣告雙精度變數或函式 大伯歐 int 宣告整型變數或函式 因特 struct 宣告結構體變數或函式 四抓科特 break 跳出當前迴圈 布瑞克 else 條件語句否定分支 與 if 連用 愛歐斯 long 宣告長整型變數或函式...

c裡面的listview items怎麼設定鍵

listview lv new listview lv.items.add new listviewitem abc lv.items lv.items.indexof new listviewitem abc selected true 注意第二步新增的專案是怎麼定義的,在第三部就要以相同的定義方...

C 是幹嘛的,C 裡面的 到底是做什麼用的?

c 是一種程式設計語言,也就是開發軟體的工具,別的還有如vb,c 之類的都是,你把它從你電腦上卸了對你沒什麼影響的,它也只是一款軟體,只是乾的事情不同,的確現在大多數軟體都是用它寫的,但用它寫的軟體可以脫離它獨立執行的 編寫程式用的語言,俗稱c語言,千萬別解除安裝它,因為現在幾乎所有的軟體都是基於c...