假設你有一個為股票交易建模的類層次結構,例如買單,賣單,等等。為該類交易建立審計系統(tǒng)是非常重要的,這樣的話,每當創(chuàng)建一個交易對象,在審計登錄項上就生成一個適當?shù)娜肟陧棥_@看上去不失為一種解決該問題的合理方法:
class Transaction {// 所有交易的基類
public:
Transaction();
virtual void logTransaction() const = 0;//建立依賴于具體交易類型的登錄項
...
};
Transaction::Transaction() //實現(xiàn)基類的構造函數(shù)
{
...
logTransaction(); //最后,登錄該交易
}
class BuyTransaction: public Transaction {
// 派生類
public:
virtual void logTransaction() const; //怎樣實現(xiàn)這種類型交易的登錄?
...
};
class SellTransaction: public Transaction {
//派生類
public:
virtual void logTransaction() const; //怎樣實現(xiàn)這種類型交易的登錄?
...
};
class Transaction {// 所有交易的基類
public:
Transaction();
virtual void logTransaction() const = 0;//建立依賴于具體交易類型的登錄項
...
};
Transaction::Transaction() //實現(xiàn)基類的構造函數(shù)
{
...
logTransaction(); //最后,登錄該交易
}
class BuyTransaction: public Transaction {
// 派生類
public:
virtual void logTransaction() const; //怎樣實現(xiàn)這種類型交易的登錄?
...
};
class SellTransaction: public Transaction {
//派生類
public:
virtual void logTransaction() const; //怎樣實現(xiàn)這種類型交易的登錄?
...
};

