假設我有一個抽象基類稱爲Base
和它繼承調用Rectangle
其他類(W/C具有X,Y,W,H的屬性)C++繼承功能默認操作
//Base.h
class Base abstract : public Rectangle
{
public:
Base();
void Show()
{
if (!visible) return;
//draw the stuff here.
}
virtual void PerformTask() = 0;
protected:
bool visible;
bool enable;
//other member variables
};
對於所有繼承此Base
的類,它必須實現這個短期操作第一:
void OtherClass1::PerformTask()
{
if (!enable) return; // <- this one I am referring to.
//else, proceed with the overriden operation
//...
}
在
PerformTask()
,可以把它做一個默認操作,因爲我不會在所有執行重新鍵入它,但是,在同一時間,被覆蓋並且short operation
被首先執行並保留?
然後不要讓'Base :: PerformTask'純虛擬。 – 0x499602D2 2013-04-21 16:25:22