c 學習筆記十

2021-09-01 10:52:05 字數 1720 閱讀 7456

建立自已的資料型別

1 對像的概念

2 c++中的結構

定義結構型別 格式如下:

struct book;

宣告結構型別的變數

struct book *****back;

建立結構型別的對像(陣列類似)

book novel=;

訪問結構對像的成員 novel.year

對結構使用指標

book * pbook=0;

如果定義了乙個物件abook

pbook=&abook;

自由儲存區中建立物件

book cbook=new book();

通過指標訪問結構成員

示例**如下: //定義一本書

book thebook=;

//宣告乙個指向book對像的指標

book * pbook=&thebook;

//可以用指標去訪問他的資料成員

(*pbook).year+=10;

指標成員訪問運算子: ->

這樣上面的語句就可以改寫為:

pbook->year+=10;

物件指標的應用:

一、在自由儲存區中建立和訪問物件

二、鍊錶

三、實現多型性

3 聯合 是一種資料型別

使用聯合的三種方式:

一、在同一記憶體塊中儲存程式中不同時期的不同變數

二、涉及陣列,為了節省大量記憶體

三、以兩種或更多種不同的方式來解釋相同的資料

宣告聯合 使用union

示例**如下:(為long型別和double型別提供乙個共同的儲存空間)

union shareld();

宣告聯合的乙個例項

一種方式:shareld myunion;

還有一種方式: union shareld()myunion;

引用聯合的成員: myunion.dval=100;

匿名聯合:

union shareld();

4 更複雜的結構

為了節省記憶體,必須讓變數共享記憶體 示例**如下:

union item;

item可以儲存以上四種型別的任何一種,但在任意時候只能儲存一種型別的

值 如下:

item value;

value.ddata=25.0;

稍後可以 value.ldata=5; 此時儲存的數值變為long型別

所以要有一中檢查型別的方法

可以使用列舉的方式: enun;

宣告兩個成員的結構, 乙個是成員變數,乙個是成員型別

struct sharedata;

type type; //成員型別

}宣告sharedata型別的變數 sharedata value=; //第乙個為

值,第二個為型別

只要在每次設定值時,設定型別,就可以檢測所儲存值的型別

if(value.type==long);

把結構作為成員

例如:struct person;

person 的成員對應三個結構

struct name;

struct data;

struct phone

宣告結構物件的方式;

一、 person him;

二、也可以在宣告變數時初始化列表

peroson yue=,,};

引用成員的值 yue.name.firstname;

c 學習筆記十

建立自已的資料型別 1 對像的概念 2 c 中的結構 定義結構型別 格式如下 struct book 宣告結構型別的變數 struct book back 建立結構型別的對像 陣列類似 book novel 訪問結構對像的成員 novel.year 對結構使用指標 book pbook 0 如果定義...

c 學習筆記十

26 a.公有類繼承 繼承方式的作用 控制基類中宣告的成員在多大的範圍內能被派生類的使用者訪問。include class location int gety private int x,y void location initl int xx,int yy void location move i...

c 學習筆記(十)

期待已久的new物件環節,終於要來了。在這之前我再給自己洗個腦 星號 指標 是值 指標是位址 程式設計師要告訴new,需要為那種型別的變數分配記憶體,new將找到乙個長度正確的記憶體塊,並返回該記憶體塊的位址。程式設計師的責任是將該位址賦給乙個指標。int pn newintnew運算子會根據後面的...