覆蓋體現在c++類中,我們平時叫做重寫,比如重寫某某某的虛函式。一、覆蓋覆蓋的前提條件:被重寫的(父類函式)必須是虛函式。虛函式:父類中加上了virtual關鍵字的成員方法(成員函式)叫做虛函式。
嗯,此文章針對入門級學習者,大牛請繞道。
覆蓋:當子類中定義了乙個與父類完全一樣的虛函式時,就叫做子類重寫了父類的虛函式,這就叫覆蓋。
虛函式的兩種體現方式:
二、兩種重寫下面**實現以下:
#include
#include
//string標頭檔案
using
namespace std;
class
cain
//虛函式
protected
:int age;};
class
beck
:public cain
//虛函式
protected
:int age;};
void
fun(cain* p,
int age)
void
fun(cain& c,
int age)
intmain()
執行結果(驗證是否正確):
ps:相機有點問題,因為公司電腦加密,有些東西不能截圖,只能手機拍照了,見諒!
看來**確實沒有問題。
ps: 子類重寫父類虛函式時,virtual關鍵字其實可寫可不寫,寫了更好,不寫也沒錯,不過建議寫著,習慣好點,別人閱讀**也覺得舒服一些。
#include
#include
//string標頭檔案
using
namespace std;
class
cain
//虛函式
protected
:int age;};
class
beck
:public cain
//虛函式
protected
:int age;};
void
fun(cain* p,
int age)
void
fun(cain& c,
int age)
intmain()
C 三大易混概念之隱藏
隱藏 字面意思,把人或者物藏起來,不讓人發現,就是隱藏。程式中的隱藏也差不多,只不過不同的是,子類重定義父類。父類中的還是存在的。下面看乙個例子 初始化列表 預設傳值,這個值在你沒有呼叫有參建構函式時,會自動給程式賦值。初始化列表好處是提高了效率。因為初始化列表在程式啟動就開始初始化。初始化列表的適...
C 的易混概念
靜態多型 過載 根據函式的引數個數和型別區分呼叫的函式。早繫結 動態多型 根據所指物件的虛函式表決定呼叫的函式。晚繫結 函式的覆蓋 過載 隱藏 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無 覆蓋 派生類函式覆蓋基類函式,特徵是...
c 三大特性之 繼承
繼承 乙個非常自然的概念,現實中的很多事情都是具有繼承性的。類似於自己繼承父母的特性,這也是繼承的特性 而繼承的上層稱為基類,下一層就叫做派生類。格式 class 派生類 繼承方式 基類 繼承 例如 include using namespace std class person class stu...