C 16 虛函式

2021-08-02 10:53:32 字數 602 閱讀 8696

//

#include "stdafx.h"

#include "iostream.h"

class pet

};class dog : public pet

};void feeding(pet& p)

//問題1. 什麼叫做前繫結(early binding)和後繫結(later binding)?

//問題2. virtual會自動繼承嗎?如果會,子類中還需要寫明speak是virtual嗎?

//問題3. vtable和vptr是指什麼?多型是如何實現的?

//問題4. vptr何時初始化?feeding函式的引數可以傳遞(pet p)嗎?

//問題5. 建構函式會是虛函式嗎?析構函式會是虛函式嗎?

int main(int argc, char* argv)

直接呼叫函式會導致前繫結。利用函式指標呼叫函式會導致後繫結。

會。不需要。

虛表和虛指標。虛表中存放的是所有虛函式的首位址,存放順序和(繼承順序、函式的宣告順序)有關。每個派生類都有乙個虛指標,存放對應虛函式的位址。

編譯階段。不可以

建構函式不能為虛函式,而析構函式可以且常常是虛函式。

C 16進製制轉換10進製相關函式詳解

十進位制轉二進位制 console.writeline convert.tostring 69,2 十進位制轉八進位制 console.writeline convert.tostring 69,8 十進位制轉十六進製制 console.writeline convert.tostring 69,1...

C 16進製制轉換10進製相關函式詳解

十進位制轉二進位制 console.writeline convert.tostring 69,2 十進位制轉八進位制 console.writeline convert.tostring 69,8 十進位制轉十六進製制 console.writeline convert.tostring 69,1...

c 16進製制10進製轉換

十進位制轉二進位制 console.writeline convert.tostring 69,2 十進位制轉八進位制 console.writeline convert.tostring 69,8 十進位制轉十六進製制 console.writeline convert.tostring 69,1...