類
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...