C 中多型的概念和意義

2021-09-24 18:19:55 字數 1250 閱讀 2785

1、函式重寫回顧:

**示例:

child c;

parent* p = &c;

c.parent::print(); // 從父類中繼承;i'm parent.

c.print(); // 在子類中重寫;i'm child.

p->print(); // 父類中定義;i'm parent.不是我們期望的版本,因為 p 指向了子類物件,期望呼叫子類版本

2、面相物件中期望的行為:

3、物件導向中的多型的概念:

4、c++ 語言直接支援多型的概念:

5、多型的初體驗程式設計實驗:

#include #include using namespace std;

class parent

};class child : public parent

};void how_to_print(parent* p)

int main()

6、多型意義:

7、理論中的概念:

8、動態聯編與靜態聯編例項分析:

#include #include using namespace std;

class parent

virtual void func(int i)

virtual void func(int i, int j)

};class child : public parent

void func(int i, int j, int k) // 子類同名覆蓋父類當中的函式,過載同一作用域當中的函式;

};void run(parent* p)

int main()

9、多型程式設計實驗:

#include #include using namespace std;

class boss

};class master

};class newmaster : public master

};void field_pk(master* master, boss* boss)

else

}int main()

10、小結:

49 多型的概念和意義

解決函式重寫碰到賦值相容性原則的矛盾 父類中被重寫的函式依然會繼承給子類,子類中重寫的函式將覆蓋父類中的函式,通過作用域分辨符 可以訪問到父類中的函式。child c parent p c c.parent print 從父類中繼承 c.print 在子類中重寫 p print 列印父類中定義 不是...

8 多型的概念和意義

多型也就是物件導向中期望的行為。1 根據實際的物件型別判斷如何呼叫重寫函式 2 父類指標 引用 指向 父類物件則呼叫父類中呼叫的函式 子類物件則呼叫子類中定義的重寫函式 總的來說就是根據實際的物件型別決定函式呼叫的具體目標,同樣的呼叫語句在實際執行時有多種不同的表現形態。通過關鍵字virtual來對...

C 中類模板的概念和意義

1,在 c 中是否能夠將泛型的思想應用於類?1,函式模板是將泛型程式設計的思想應用於函式,就有了函式模板 2,可以,常用的 c 標準庫就是 c 中的標準模板庫,c 中的 stl 就是將泛型的思想應用於一系列的函式,就得到了函式模板,當然也有很多的類模板 3,類模板就是將泛型思想應用於 c 中的類而得...