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...