成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++覆蓋和重載的區別

開發 后端
覆蓋也稱為重寫(override)。覆蓋是存在類中,子類重寫從基類繼承過來的函數,函數名、返回值、參數列表都必須和基類相同。

1、覆蓋

覆蓋也稱為重寫(override)。

覆蓋是存在類中,子類重寫從基類繼承過來的函數,函數名、返回值、參數列表都必須和基類相同。

當子類的對象調用成員函數的時候,如果成員函數有被覆蓋則調用子類中覆蓋的版本,否則調用從基類繼承過來的函數。

如果子類覆蓋的是基類的虛函數,則可以用來實現多態。當子類重新定義基類的虛函數之后,基類指針可以根據賦給它不同子類指針動態的調用子類中的虛函數,做到動態綁定,這就是多態。

2、重載

重載指允許在相同作用域中存在多個同名的函數,這些函數的參數表不同,編譯器根據函數不同的形參表對同名函數的名稱做修飾,然后這些同名函數就成了不同的函數。如:

  1. void Fun(int a); 
  2. void Fun(double a); 
  3. void Fun(int a, int b); 
  4. void Fun(double a, int b); 

重載要求參數列表必須不同,比如參數類型不同、參數個數不同、參數順序不同。如果僅僅是函數的返回值不同是沒辦法重載的。如:

  1. int Fun(int a) 
  2. void Fun(int a) 

函數被C++編譯后在符號庫中的名字與C語言的不同。假設某個函數的原型為:

  1. void foo( int x, int y); 

該函數被C編譯器編譯后在符號庫中的名字為_foo;而C++編譯器則會產生像_foo_int_int之類的名字。

這樣的名字包含了函數名、函數參數數量及類型信息,C++就是靠這種機制來實現函數重載的。

3、重載與覆蓋的區別

  • 重載要求函數名相同,但是參數列表必須不同;覆蓋要求函數名、參數列表、返回值必須相同。
  • 重載描述的是同一個類中不同成員函數之間的關系;覆蓋是子類和基類之間不同成員函數之間的關系。
  • 重載的確定是在編譯時確定,是靜態的;虛函數則是在運行時動態確定。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2016-12-26 09:23:18

C++函數覆蓋

2009-05-26 09:31:00

C++重載覆蓋

2023-09-22 22:49:15

C++重載重寫

2011-04-11 09:43:25

C++C

2010-01-18 16:56:30

C++函數

2010-02-05 10:30:02

C++操作符重載

2011-04-06 08:57:07

C++java多態

2022-07-01 11:56:54

C語言C++編程語言

2010-01-28 15:22:12

C++嵌套類

2020-08-10 10:20:15

流插入運算符語言

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2011-06-21 15:00:07

JAVAC++

2010-01-20 17:48:07

C++ 函數重載

2010-02-04 09:33:08

C++指針重載

2010-01-28 14:38:36

C++和C#、Java

2011-07-13 18:00:51

CC++VC

2024-06-28 10:04:09

2009-10-22 09:17:16

C++ CLR

2011-07-20 17:16:50

C++重載函數

2010-02-05 15:59:26

C++函數重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩av.com | 999视频| 日韩伦理一区二区 | 日韩成人免费视频 | av香港经典三级级 在线 | 精精国产xxxx视频在线播放 | 亚洲久久在线 | 一区二区三区在线免费 | 午夜精品久久久久久久星辰影院 | 国产三级一区二区 | 国产高清视频在线观看 | 一区二区三区视频免费观看 | 青春草在线 | 九九热这里只有精品在线观看 | 日韩一区二区免费视频 | 黑人精品 | 日本福利视频 | 国产精品一级 | 日本天天操 | 狠狠久久综合 | 五月天婷婷久久 | 精品国产一区二区三区在线观看 | a在线观看免费 | 黄色免费av | 天天草天天 | 中文字幕亚洲一区二区三区 | 日韩高清中文字幕 | 国产精品久久久久一区二区三区 | 精品一区国产 | 一区二区三区四区国产 | 精品一区二区在线观看 | 婷婷色国产偷v国产偷v小说 | 91在线电影 | 亚洲欧美中文日韩在线v日本 | av一区二区三区 | 高清视频一区 | 精品欧美 | 一区视频在线免费观看 | 黄色大片网站 | 夜夜精品浪潮av一区二区三区 | 精品国产视频 |