C++之普通成員函式、虛擬函式以及純虛擬函式的區別與用法要點
阿新 • • 發佈:2019-02-20
普通成員函式是靜態編譯的,沒有執行時多型,只會根據指標或引用的“字面值”類物件,呼叫自己的普通函式;虛擬函式為了過載和多型的需要,在基類中定義的,即便定義為空;純虛擬函式是在基類中宣告的虛擬函式,它可以再基類中有定義,且派生類必須定義自己的實現方法。
假設我們有三個類Person、Teacher、Student它們之間的關係如下:
類的關係圖
普通成員函式
【Demo1】
根據這個類圖,我們有下面的程式碼實現
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#ifndef
__OBJEDT_H__
#define
__OBJEDT_H__
#include
<string>
#include
<iostream>
|