C 基礎之類和物件二

2022-08-29 13:15:23 字數 2157 閱讀 7955

(1)指向類的成員的指標分為指向資料成員的指標和指向成員函式的指標兩種。乙個類的物件用運算子「.*」來操作指向該類成員的指標,而乙個指向類的物件的指標用

運算子「->」來操作指向該類成員的指標。

(2)物件指標和物件引用都可以作為函式引數,在c++語言中,經常使用物件引用作為函式引數。因為用物件引用作為函式引數比用物件指標作為函式更簡潔明瞭,實參用物件,形參用物件引用即可,又由於用物件引用作為函式引數比用物件作為函式引數提高效率。因此,c++程式中多用物件引用作為函式引數。

(3)this是乙個隱含於每個類的成員函式中的特殊指標,該指標指向正被某個成員函式操作的物件。通常它被隱含著,有時它會被顯式使用。

(4)物件陣列是同乙個類的若干個物件組成的陣列。該陣列的每個元素是某類的個物件。物件陣列可以使用初始化表進行初始化,也可以為每個元素賦值

(5)指向物件陣列的指標通常來指向二維物件陣列的某一行,這就是指向一維物件陣列的指標。

(6)物件指標陣列是一種元素為指向物件指標的陣列。一維一級物件指標陣列是經常使用的,該陣列的元素是一級物件指標

int (*p)[3];//

p是乙個指向一維陣列的指標,該陣列有3個int型元素

《類名》(*pl)[3];//

pl是指向陣列的指標名,該指標是乙個指向一維物件陣列的指標,該陣列中有3個元素,每個元素是指定《類名》的物件

7)常型別修飾符 const是用來定義常量的。它可以定義一般常量、常物件、常引用和常指標。常指標有兩種形式,

一種是指標中存放的位址不變,它所指向的變數可變的常指標,格式為:<型別>* const<指標名>=<初始值>;

另一種是指標中存放的位址可變,它們指向的變數不變的常指標,格式為:<型別> const*<指標名>=<初始值>;。

(8)常型別中還有常成員,它分為常資料成員和常成員函式。使用 const修飾的資料成員稱常資料成員,它需要在建構函式的成員初始化表中進行初始化,並且它的值不能被更新。使用 const修飾的成員函式稱常成員函式。只有常成員函式才能操作常變數和常物件

#include classa;

const

int a::b=10

;a::a(

inti): a(),r(a)

void

a: :print()

void

main()

執行該程式輸出如下結果:

100:10:100

0:10:0

說明:該程式中,說明了如下三個常型別資料成員:

const

int&ir

const

inta s

static

const

intb

其中,r是常imt型引用,a是常int型変量,b是靜態常int型量。

程式中對靜態資料成員b進行初始化。

值得注意的是建構函式的格式如下所示:

a(int

i): a(i), r(a)

{}其中,冒號後邊是乙個資料成員初始化列表,它包含兩個初始化項,用逗號進行了間隔。

(9)乙個類的成員是另乙個類的物件時,該成員被稱為子物件,它是一種資料成員。含有子物件的類的建構函式的成員初始化表中要包含對子物件的初始化,

其格式為:<子物件名>(<參數列>)。

(10)動態建立的物件又稱為堆物件。堆物件是可以根據需要隨時釋放的。建立堆物件使用運算子new,釋放堆物件使用運算子 delete

(11)運算子new可用來建立變數和物件的指標,其格式如下:

<型別>*<指標名>=new<型別>(<初值>)

這將建立乙個指向變數或物件的指標,並且可以對所指向的變數或物件進行初始化。

該運算子還可以建立一般型別變數或物件陣列,其格式如下

<型別>*<指標名>=new<型別>[<大小>];

// delete <指標名>

(12)c++語言中的型別轉換包含了c語言中的隱含轉換和強制轉換兩種。一般由高型別轉換為低型別時,要進行強制轉換。

(13)c++程式中,具有乙個引數的建構函式具有型別轉換的功能。這種轉換通常是將乙個數值轉換為某類的物件。

(14)類中還有一種特殊的成員函式稱為轉換函式。這種轉換函式通常用來將某類的物件轉換成為轉換函式所定義的型別。定義轉換函式格式如下所示。

operator<轉換函式名>()

{函式體}

其中,<轉換函式名>是型別說明符

C 之類和物件

物件 物件是特指的某乙個具體實物,比如 桌子 就不是物件,而 這張桌子 就是物件 屬性 每個物件的每個屬性都是有特定的值得。屬性 性別,名字 方法 物件的行為,動作,執行的操作。方法 吃飯,睡覺 類的定義 類是抽象的概念,僅僅是模板,比如說 人類 訪問修飾符 class 類名 成員 public c...

C 之類和物件

給大家講解下我學習c 的經驗 那就是不要看太多理論之後再去實踐,有人覺得不懂不就應該先看會才行嗎,不不不,程式設計是門實踐課,曾經我的導師跟我說這的知識你在書本上是看不會的,當你動手操作才能學會,我實際學起來才發現導師說的非常對。出錯了,按照錯誤去學習,該怎麼寫比直接看定義好太多太多 當然不是不讓你...

java基礎之類和物件

1,物件 分為 靜態部分和動態部分,人類通過 物件的屬性和觀察物件的行為了解物件 1.類 類是封裝物件屬性和行為的載體,具有相同屬性和行為的一類實體被稱為類,2.封裝 將物件屬性和行為封裝起來,其載體是類,類通常對客戶隱藏其實現的細節,封裝的思想。3.繼承 類與類之間具有同樣關係,類之間的這種關係 ...