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 中的類而得...