C C 語法 (四)類與結構體

2022-02-01 10:19:02 字數 1234 閱讀 6652

演算法題中使用的類知識很少,所以沒啥好寫的.類與結構體的主要區別在於,如果不定義成員是公有或私有,類中預設設定為private,而結構體中預設設定為public.以下隨便寫點結構體語法,背過就完事了.

struct person //無參建構函式

person(int _age, int _height): age(_age); //有參構造的快捷寫法,且執行效率高一點

person(int _age, int _height, double _moeny) : age(_age), height(_height), money(_money){}

};//分號記得要寫

常用結構體定義單鏈表:

struct node

};int main(){

node *p = new node(1); //使用new返回的是位址

node *q = new node(2); //auto q = new node(2);

node *o= new node(3); //auto q = new node(2);

p->next = q;

q->next = o;

node *head = p;

//遍歷鍊錶

for (node *i = head; i; i = i->next)

cout << i->val << endl;

在鍊錶首部中插入乙個新結點:

node *u = new node(4);

u->next = head;

head = u;

注意以下寫法是錯誤的:

listnode *vir = new listnode(-1), tail = vir;
請老老實實寫成:

listnode *vir = new listnode(-1);

listnode *tail = vir;

或者你不願意寫這麼長,也可以寫成:

auto vir = new listnode(-1), tail = vir;
空結點的三種寫法:

null

nullptr

0

本文演算法思想源於acwing,特此註明。

C C 中結構體與類

先來說說c和c 中結構體的不同 a c語言中的結構體不能為空,否則會報錯 1 d myproject visual studio 2013 projects myc main.c 71 error c2016 c 要求乙個結構或聯合至少有乙個成員 b c語言中的結構體只涉及到資料結構,而不涉及到演算...

C C 結構體語法總結

結構體屬於聚合資料型別的一類,它將不同的資料型別整合在一起構成乙個新的型別,相當於資料庫中一條記錄,比如學生結構體,整合了學號,姓名等等資訊。結構體的好處就是可以對這些資訊進行整體管理操作,類似物件導向中類的屬性,有了結構體,我就可以更好抽象描述乙個類別,個人感覺類就是由結構體發展而來的。在c c ...

C C 學習總結(四) 類與類之間的關係

類與類之間的關係 組合 乙個類包含了其他類 依賴 乙個類使用了其他類 和繼成 乙個類繼承了其他類 1 類的組合關係 某乙個或幾個類的物件作為其他某個類的成員,例 class a class b class c 其中,x和y是普通的資料成員,a和b是物件成員。c類包含了a類和b類的物件,此時稱c與a和...