動物
貓 狗加菲貓,蘋果貓, 嘯天犬 , 狗頭
網頁的頭
網頁的尾
網頁的左側
都一樣只有網頁的內容不一樣的時候可以先寫乙個基類網頁,讓各個子類去繼承
有效減少**量
子類新增自己的內容,
使用時候直接子類建立物件,使用子類和基類的方法
語法:class 子類名:繼承方式 基類
子類能訪問基類成員的許可權 和 對繼承下來的成員的許可權變更
p128的截圖
protected 方式繼承基類,的子類中類中可以訪問protected的屬性,但是子類構造出來的物件,就屬於類外了,此物件就不能訪問子類中的protected屬性了,
基類中所有非靜態的成員都被子類繼承去了,不管private,都繼承下去了。
基類中的私有成員屬性,被編譯器隱藏了,訪問不到
f:跳轉盤幅
跳轉到具體路徑: cl
檢視命令:
cl /d1reportsingleclasslayout 檔名(那個.cpp檔案)
父子子父
先有父類再有子類
析構:因為在棧上所以:反向
建立子類物件,會先建立父類物件
建立的子類物件直接(點)操作的是子類的屬性,
如果要訪問父類的成員需要新增作用域運算子
son s;
s.m_age;
//直接訪問子類中的屬性
s.base::m_age;
//訪問父類中的屬性
當出現同名函式時候,也是一樣的呼叫方式,直接點出來就是子類的函式,如果想要訪問父類的方法,就加父類的作用域
如果子類**現了和父類的同名函式,會隱藏父類中的所有同名函式,
加作用域就可以解隱藏
靜態成員變數編譯階段分配記憶體,共享同乙份資料,類內宣告,類外初始化。
int base::m_age=10;
通過物件的方式訪問靜態成員,
通過類名的方式訪問靜態成員,
cout<<:base::m_age>
//通過類名(son)的方式訪問,訪問base作用域下的成員屬性
//兩個::表示的含義不一樣
class son : public base1,public base2
;如果兩個父類中有同名成員屬性,如何區分?
加作用域運算子 ::
菱形繼承:
問題:繼承了兩份年齡資料,占用記憶體資源,
解決菱形繼承的問題:使用虛繼承
class sheep:virtualpublic animal
{};class tuo:virtualpublic animal
{};class sheeptuo:public sheep
;解決菱形繼承問題:虛基類表
把動物那個類變成虛基類,羊類和駝類繼承乙個虛基類指標,通過虛基類表,指向動物類的那個成員,保證唯一性
物件導向 類的繼承
1 派生類物件的構造與析構 建立派生類物件的時候首先呼叫基類的建構函式初始化基類成員,隨後才呼叫派生類建構函式 派生類物件的析構過程首先是呼叫派生類的析構函式,再呼叫基類的析構函式 2 多重繼承 b c都繼承於a,而d繼承於b和c 多重繼承的兩義性 當d的物件呼叫a中的成員時就會產生兩義性 d b ...
類與物件的繼承
類與物件的繼承 1.繼承是什麼 類與物件的繼承可以說是方便呼叫一些類中的方法,其本質就是像兒子在接受父親的遺傳,父親能做的,兒子也能做,不過兒子卻是在不斷成長,所以有些兒子能另外做的事 不是接受父親遺傳,是後天生成的 2.繼承的基本格式 public class 子類 extends 父類 繼承所需...
Python類繼承物件
類宣告從object繼承有什麼理由嗎?我剛剛找到了執行此操作的 但找不到很好的理由。class myclass object class code follows.難學python的歷史 python最初對類的再現在許多方面都被破壞了。到發現此故障時,已經為時已晚,他們必須予以支援。為了解決此問題,...