C 類與物件

2021-08-15 07:54:16 字數 2411 閱讀 8580

程式設計模型

所有計算機均由兩種元素組成:**和資料.精確的說,有些程式是圍繞著」什麼正在發生」而編寫,有些則是圍繞」誰正在受影響」而編寫的.

抽象封裝

封裝是一種把**和**所操作的資料**在一起,使這兩者不受外界干擾和誤用的機制.

繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原則之二,它支援按層次分類的概念.

多型 多型是指乙個方法只能有乙個名稱,但可以有許多形態,也就是程式中可以定義多個同名的方法,用」乙個介面,多個方法」來描述.可以通過方法的引數和型別引用.

使用類的好處在於能夠將**的控制交給資料,將資料與程式合為一體,管理起來更加整齊,而且相對於面向過程的程式設計來說更加簡潔,同時其繼承又使得程式設計變得更加方便。類就相當於結構的乙個加強版,總的來說,結構也能實現繼承、多型,能包含成員函式。唯一的區別就是二者的預設資料訪問控制型別不同。

//標頭檔案

#ifndef zhumeng_h_

#define zhumeng_h

#include

class

zhumeng

;#endif

//實現檔案

#include"zhumeng.h"

zhumeng::zhumeng(float a)

zhumeng::~zhumeng()

void zhumeng::show()

//呼叫檔案

#include

#include"zhumeng.h"

using

namespace

std;

int main()

注:this指標並不是物件的一部分,this指標所佔的記憶體大小是不會反應在sizeof操作符上的。

this在成員函式的開始執行前構造的,在成員的執行結束後清除。

this 就是這個類(層級最近的)自己(做為指標而非引用),-> 就是呼叫類指標的某個成員變數或者函式。當你在類的實現裡使用類的各種方法、成員變數的時候,如果不加上 this-> 編譯器會自動的給你加上。有一些時候,你不得不顯示的加上,因為函式引數名如果和成員變數重名,編譯器會優先選層級近的,這時候如果要用成員變數,需要顯式的加上 this-> 。

等於說一般情況下this是沒有什麼作用的,只是在特定的情況下才必須使用this指標。

//在類內宣告為:

intfunc(int ) const;

//表示為const成員函式,在任何情況下該函式都不會修改資料成員。

其實應該這樣看,比如過載了乙個運算子+,這時候

c=a+b 被解釋為

c=a.operator+(b)

//標頭檔案

#ifndef zhumeng_h_

#define zhumeng_h

#include

class zhumeng

;#endif

//實現檔案

#include"zhumeng.h"

zhumeng::zhumeng()

zhumeng::zhumeng(int ****)

zhumeng::zhumeng(int shi, int fen, int miao)

operator

double()

zhumeng::~zhumeng()

zhumeng zhumeng::operator+(zhumeng & aaa) const

//呼叫

#include

#include"zhumeng.h"

using

namespace

std;

int main()

非成員函式的運算子過載是不寫在類內的,在類外進行定義的時候過載運算子的引數有兩個。下面是乙個例項:

zhumeng operator*(int all, zhumeng all_2)

不能建立新的運算子,例如不能使用operator**()函式來建立運算子

建立友元

zhumeng default_zhumeng;

int k = 3;

default_zhumeng = 3,3,3;//隱式強制型別轉換

default_zhumeng = zhumeng(k);//顯式強制型別轉換

operator typename()

C 類與物件

c 類與物件 區分物件導向與面向過程 物件導向是指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。物件導向 利用物件間的訊息傳遞來驅動程式的執行。優點 真實表現客觀世界,物件間的關係清晰,物件間的訊息處理高效。面...

C 類與物件

類是物件導向的核心機制,是物件導向設計中對具有相同或相似性質的物件的抽象,是對資料和操作進行封裝的載體,進而保證了對資料的安全 高效 合理的訪問 物件是類的例項,是類的具體個體,對應現實世界的實體。類的定義 class 類名 void showclock 習慣上在類的宣告中只定義函式的原型,在類外定...

C 類與物件

物件導向 物件是指類的例項,將物件作為程式的基本單元,將程式和資料封裝在其中,以提高軟體的重用性,靈活性和擴充套件性。物件導向的三大特性 封裝 繼承 多型 類是現實世界對實體的抽象類別的對映,它是乙個模型,定義出乙個類並沒有分配實際的記憶體空間來儲存它。每個物件的大小為類中所有成員變數的大小之和,並...