建立自已的資料型別
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運算子會根據後面的...