1.物件導向的基本特徵
封裝,繼承,多型。
高內聚,低耦合。
2.深拷貝和淺拷貝
主要是:淺拷貝只是單純值的複製,而深拷貝對於指標的拷貝比較謹慎,會單獨申請一塊記憶體儲存,不會簡單把兩個指標指向同乙個記憶體位址。
這塊可以複習智慧型指標。
3友元本質是破壞了封裝性的函式,類。可以訪問類的私有成員。
注意的是:類與類的友元關係不能繼承。調用友元函式時,要在實參中給出相應的物件。友元函式不能訪問類的成員,只能訪問物件成員。
4.複製建構函式和賦值運算子的區別
建構函式是建乙個物件。在初始化前不用檢查新建物件和源物件是否相等。
賦值運算子是建立乙個物件後進行位複製。需要檢查是否相等,還會在賦值時,進行釋放記憶體等操作。
5.建構函式和析構函式不能被派生。
建構函式的順序:先基類,按基類繼承順序,然後按成員變數的宣告順序,最後自己。
靜態成員變數先於例項變數, 父類先於子類。
變數初始化順序:
1.基類靜態變數或全域性變數
2.派生類的靜態變數或全域性變數
3 基類的成員變數
4.派生類的成員變數。
析構順序相反。
6.初始化列表和在函式體內初始化
在初始化列表使用建構函式直接構造,在函式體內還要再呼叫賦值操作符函式,推薦在初始化列表。
而且有些const成員必須在定義時初始化。
7.c++空類預設的成員函式
預設建構函式,複製建構函式,析構函式,賦值運算子過載函式,取位址過載函式,const取值運算子過載函式。
如果不想讓外界構造a類物件,只想構造a的子類b的物件,把a的建構函式寫為protected。
8.public,protected,private
public:許可權不變傳遞給派生類,派生類不可訪問基類private成員。
protected:public和protected都在派生類變為protected,private依然不可見。
9.c++預設引數的函式
在函式宣告時,寫引數預設值。
預設引數從右向左。因為傳入引數的記憶體是從低向高,從左往右。
物件導向 初識物件導向
面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...
物件導向程式設計01 面向過程 物件導向
前面12講我已經寫完了從零開始學j ase 慶祝完結撒花!那麼從今天開始正式步入物件導向程式設計。建議開啟本章之前先回顧 j ase010方法詳解和 j a變數與方法的呼叫 同類操作中與跨類操作中的對比 物件導向程式設計 oop object oriented programming 物件導向程式設...
物件導向過程與物件導向
物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...