記住下面的原則:
1) 當乙個物件呼叫乙個非虛函式時, 與物件的宣告型別繫結的, 並不是與實際的物件的型別繫結的。
2)在虛函式中呼叫非虛函式的時候, 呼叫的非虛函式是與虛函式所在的類是一致的
3) 在非虛函式中呼叫虛函式的時候, 呼叫的虛函式是與對像的實際類一致的。
4) 非虛函式與虛函式的呼叫與其訪問許可權無關。
分為,非虛函式: public, protected, private
虛函式: public, protected, private
非虛函式呼叫非虛函式, 虛函式
虛函式呼叫非虛函式, 虛函式
以及他們在子類中的執行時的行為。
using namespace std;
class basetemplate
virtual void step2(void ) // 可以被派生類修改的實現細節
protected:
virtual void step3(void ) =0; // 必須被派生類修改的實現細節
public:
void work(void) // 骨架函式,實現了骨架 };
class dervie:public basetemplate
void step2(void ) // 可以被派生類修改的實現細節
protected:
void step3(void)
};int main(int argc, char* argv)
C和C 相互呼叫
c和c 相互呼叫 2011 11 01 18 42 29 分類 c c 在專案中融合c和c 有時是不可避免的,在呼叫對方的功能函式的時候,或許會出現這樣那樣的問題。近來在主程式是c語言,而呼叫c 功能函式的時候,c 的 h標頭檔案都能找到,功能函式也都定義了,最重要的是,單獨編譯c 的時候完全沒有問...
c 中建構函式的相互呼叫
在建構函式中呼叫另乙個建構函式如果一不注意就會有無限遞迴的危險,而且建構函式的引數的不同也決定了呼叫的不同,所以特意總結了一下哪些形式的呼叫時允許的 首先假設構造函式呼叫時引數都是外部的變數,而不是乙個常量。說明 推薦此法 int b 2 class test 在初始化列表呼叫test int a ...
面試題目 虛函式和非虛函式的呼叫
本部落格 貼出作者 三二 一 小魚 相關研究 學習內容所做的筆記,歡迎廣大朋友指正!寫出如下程式的執行結果 iostream.h class cbase void act2 virtual void act3 virtual void act4 void act5 class cderive pub...