c 學習筆記十一

2021-09-01 10:52:05 字數 2772 閱讀 9769

1 封裝

繼承多型

2 類的定義:

class box

}3 建構函式 示例**如下:

class box

//方法

double box:: value()

預設的建構函式 如果沒有定義構造成器, 編譯器會自動生成乙個

預設的初始化值 (在定義有引數的構造成函式後,可以去掉預設的構

造器)在構造器中使用初始化列表 示例**如下:

box:: box(double lengthvalue,double widthvalue,double

lengthvalue):length(lengthvalue),width(widthvalue),height(lengthvalue)

使用explicit關鍵字(類的構造器只有乙個引數是非常危險的) 可以闢

免隱式型別轉換

class cube

4 類的私有成員 成員變數用private 定義

訪問私有類成員 (新增get方法)

class box

double getwidth()

double getheight()

}訪問物件的尺寸 pbox->getlength();

預設的副本建構函式

定義乙個 box pbox=(1.2,2.3,3.4);物件,如果想建立乙個跟pbox一要

的物件,可以使用 box pbox2=(pbox);

5 友元 可以訪問類物件的任意成員

類的友元函式 關鍵字friend

友元類class box

6 this 指標

顯示使用this指標

示例**如下:

double box::value()

從函式中返回this

示例**如下(box.h檔案):

#ifndef box_h

#define box_h

class box;

#endif

(box.cpp檔案)

#include

#include "box.h" //引入標頭檔案

using std::cout;

using std::endl;

//定義構造成器

box:: box(double lengthvalue,double widthvalue,double

lengthvalue)

//實現set方法

box* box:: setlength(double len)

box* box:: setwidth(double wid)

box* box:: setheight(double hei)

//方法

double box:: value()

7 const物件和const成員函式

double comparevlume(const box &otherbox);//由於引數不能修改,所

以設定為const型別

(訪問器函式,僅訪問資料成員的值,而不去修改他們)

示例**如下(box.h標頭檔案):

#ifndef box_h

#define box_h

class box;

#endif

在.cpp中的定義為

doublc box::conparevalue() const

* 類中的mutalbe成員

示例** .h標頭檔案如下:

class secureaccess()

.cpp實現**如下:

bool secureaccess::islocked() const

呼叫該方法:

const secureaccess maindoor();

bool dorstate=maindoor.islocked();

*常量的強制轉換

格式如下:const_cast《型別》(表示式);//表達示必需是const型別

或與型別相同

8 類的物件陣列

示例**.h的標頭檔案如下:

class box

.cpp實現**:

如果只實現預設的構造成器,則建構函式只有乙個

box::box()

建立和使用box陣列

#inclued

#inclued "box.h"

using std::cout;

using std::endl;

int main()

類的靜態成員 關鍵字static

示例**

在box中定義乙個靜態變數

static int num;

如果在類的外部對其引用

int box:: num=0;

靜態成員的型別:

如在標頭檔案box.h中宣告 const staice box rebox;

在.cpp實現檔案中 const static box box::rebox(1.0,1.0,1.0);

類的靜態成員函式 (不能宣告為const 靜態成員函式與類的物件無關,它沒

有this指標,所以不能使用const)

示例**如下:

class box

//成員變數

private:

static int objectcount;

double length;

double width;

double height;

} 靜態成員函式的呼叫:

box:: getobjectcount();//取得物件數

c 學習筆記十一

類 1 封裝 繼承多型 2 類的定義 class box 3 建構函式 示例 如下 class box 方法 double box value 預設的建構函式 如果沒有定義構造成器,編譯器會自動生成乙個 預設的初始化值 在定義有引數的構造成函式後,可以去掉預設的構 造器 在構造器中使用初始化列表 示...

c語言學習筆記十一

檔案i o data msg string hello,world n len msg text global start start movl len,edx movl msg,ecx movl 1 ebx movl 4 eax int 0x80 movl 0 ebx movl 1 eax int...

c語言學習筆記十一

檔案i o data msg string hello,world n len msg text global start start movl len,edx movl msg,ecx movl 1 ebx movl 4 eax int 0x80 movl 0 ebx movl 1 eax int...