c 物件導向程式設計 類和物件(基礎)

2021-09-23 20:49:59 字數 1888 閱讀 1570

目錄

類的資料成員和成員函式

在類體之外定義成員函式

內聯函式

物件的建立

類成員的訪問

建構函式和析構函式

複製建構函式

物件指標

this指標

靜態類成員

靜態資料成員的宣告,初始化與訪問

靜態成員函式

動態記憶體分配

class 類名

public:

//《公有資料成員,公有成員函式》

protected:

//《保護型資料成員,保護型成員函式》

}

類體中只保留成員函式的原型宣告。也稱為外聯函式。可以訪問操作私有成員資料。

返回型別 類名 ::成員函式名(參數列)
程式編譯時將函式**插入函式呼叫處。

在類體中定義函式體的成員預設為內聯函式。

可以使用inline關鍵字定義內聯函式(在類體之外定義函式體的成員函式)

class sum

void setsum(int x); //成員函式的原型宣告

void print();

}; //這裡有乙個分號

sum :: setsum(int x) //::為作用域解析運算子,實現成員函式

inline void sum :: print(int x)

//沒有返回值

sum(int x); //成員函式的原型宣告

~sum()

}; //這裡有乙個分號

sum :: sum(int x)

void main()

析構函式作用在類物件生命週期結束時,清理和釋放類物件所占用的系統資源。析構函式有所屬類同名,函式名前加乙個邏輯非運算~,表示建構函式的逆。乙個類中只能定義乙個析構函式。

具有一般建構函式所有的屬性,建立新物件時被呼叫,其形參是本類的物件的引用。作用是用乙個存在的物件初始化另乙個正建立的同類物件,將已知物件的資料成員的值複製給另乙個正在建立的另乙個同類的物件。

class sum

sum(sum &p); //沒有返回值

~sum()

};void main()

指向物件的指標,物件指標就是存放該物件位址的變數。

類名 *物件指標名;
用指標訪問物件成員時用「->」運算子:物件指標名->類成員名;或(*物件指標名).類成員名;

類成員變數和類成員函式相同時用"this->"區別,指向呼叫成員函式物件的乙個特殊的指標。

class test

}void main()

void printsum()

引用:類名::靜態成員函式名(實參表) 或 物件名.靜態成員函式名(實參表)

靜態成員函式無this指標

訪問的基本上是靜態資料成員或全域性變數

在呼叫靜態成員函式的前面,必須有物件名或類名

#include

using namespace std;

class student

void static printsum()

void static printsum()

基本資料型別動態分配記憶體區域

指標變數 = new 資料型別(初值列表);

delete 指標變數;

int *pi;

pi=new int;

*pi=3;

cout

為陣列物件動態分配記憶體區域

指標變數 = new 物件型別名[陣列容量];

delete 指標變數;

int *p;

p=new int[3];

delete p;

物件導向基礎 類和物件

一 物件 用來描述客觀事物的乙個實體,由一組屬性和方法構成 物件是由靜態特徵和動態特徵組成 1 靜態特徵 屬性 2 動態特徵 方法 物件的特徵 屬性 屬性 物件具有的各種特徵 每個物件的每個屬性都擁有特定值 物件的特徵 方法 方法 物件執行的操作 二 類 具有相同屬性和方法的一組物件的集合類是物件的...

c 物件導向 類和物件

define crt secure no warnings include include using namespace std struct hero void printhero struct hero h class advhero class animal 以內 叫類的內部,以外叫類的外部...

物件導向程式設計和類

class product def init self,name self.name name self.label price 0 self.real price 0 c product 電腦 d product 印表機 e product 投影儀 c.label price,c.real pri...