程式設計3

2021-04-07 13:04:27 字數 1556 閱讀 2521

有這樣一種需求,兩個類:

class a

;

class b

;

這種情況下,

a類是乙個全域性的控制類,它有一系列的演算法呼叫各個子模組,然而子模組在自己的任務中,有時需要**全域性控制類

a的演算法。設計一種什麼結構可以完成這種需求?

現在的方法是,把需要**的

a的演算法做成乙個介面,

a類從這個介面繼承,

b類擁有這個介面的乙個指標,並提供該介面指標的初始化函式。把a類的

this

指標初始化給

b,使得

b類可以通過該介面**

a類的演算法。按照這種思路,下面是乙個測試例子:

//介面

#ifndef

__ibs_h__

#define

__ibs_h__

class

ibs ;

#endif

//__ibs_h__

//

相當於b類:擁有介面的指標及初始化方法

#ifndef

__**all_h__

#define

__**all_h__

#include

"ibs.h"

class

c**all

;

#endif

//__**all_h__

#include

"stdafx.h"

#include

"./**all.h"

c**all

::c**all(void)

c**all

::~c**all(void)

void

c**all::**allprint(int

val)

void

c**all::ini(ibs* pbs)

//相當於a類:對介面繼承實現

#ifndef

__big_h__

#define

__big_h__

#include

"ibs.h"

#include

"**all.h"

class

cbig:

public

ibs ;

#endif

//__big_h__

#include

"stdafx.h"

#include

"./big.h"

cbig

::cbig(void)

cbig

::~cbig(void)

int

cbig::bigprint(int

val)

void

cbig::print(int

val) //

純虛方法實現

void

cbig::print(void)

void

cbig::ini(void)

shell程式設計 3

要定義乙個shell函式,我們只需要簡單地寫出它的名字,然後是一對空括號,再把有關的語句放在一對花括號中,如下所示 function name statements 實驗 簡單的函式 bin bash foo echo function foo is executing echo script st...

初學程式設計(3)

學習的語言 c 編譯環境 visual studio 2013 學習內容 關鍵字int short long unsigned char float double bool complex imaginary 運算子 sizeof 函式 scanf 如何讀取資料,操控資料 一 先上一段 includ...

Flash Socket 程式設計(3)

最近時間,其實很空閒,只是有一些事情還是沒有做出來,所以感覺很鬱悶。這兩天看pop3 和stmp的協議,看看flex能否開發乙個郵件傳送的程式。把最近寫一些類記錄下來,看看日後是否有用。寫乙個connection 繼承了 eventdispatcher 類,利用這個類可以進行事件分派。然後封裝一下s...