2. struct 和class的區別
3. 成員屬性設為私有
4. 練習案例:
c++物件導向的三大特性:封裝,繼承,多型c++認為萬事皆可為物件,物件上有其屬性和行為• 將屬性和行為作為乙個整體,表現生活中的事物,即物件例如:物件: 車
屬性: 輪胎,方向盤,喇叭,車燈
行為:載人,駕駛,照明
具有相同性質的物件,抽象位類
車屬於車類
• 將屬性和行為加以許可權的控制(private, protected, public)
在設計類的時候,可以將屬性和行為寫在一起,表現事物語法:
class 類名
;
例項1: 設計乙個圓類,求圓的周長
//建立乙個圓,並計算周長
#include
using namespace std;
#define pi 3.14
//公式: 周長 = 2 * pi * r
class circle };
intmain()
類在設計時候,可以把屬性和行為放在不同的許可權下,加以控制訪問許可權:名稱
許可權許可權
許可權public
類內可以訪問
類外可以訪問
protected
類內可以訪問
類外不可以訪問
子類可以訪問父類中的保護成員
private
類內可以訪問
類外不可以訪問
子類不可以訪問父類中的私有成員
protected 和 private舉例兒子可以開父親的汽車
兒子不可以知道父親的銀行卡密碼
#include
using namespace std;
class person };
intmain()
在c++中唯一的區別在於預設的訪問許可權不同• struct的預設許可權為public• class的預設許可權為 private
#include
using namespace std;
class c
;struct s
;int
main()
優點1: 將所有成員屬性設定為私有,可以自己控制讀寫許可權
優點2: 對於寫許可權(比如修改乙個資料,防止超出有效範圍
),我們可以檢測資料的有效性
對外提供乙個公共的成員函式,來給成員屬性進行賦值操作
class person
//讀許可權
設計立方體:
設計立方體類(cube)
求出立方體的面積和體積
分別用全域性函式和成員函式判斷兩個立方體體積是否相等
用引用的方式直接使用原始的資料,就不需要拷貝乙份資料出來了
class cube
intgetv()
//利用成員函式判斷倆個立方體體積是否相等
bool issamebyclass
(cube c)
void
seth
(int h)
void
setw
(int w)
void
setl
(int l)
private:
//屬性
int m_h;
int m_w;
int m_l;};
//全域性函式判斷體積是否相等
C 類和物件(一) 封裝
c 物件導向的三大特性 封裝 繼承 多型。c 中萬物皆物件,物件包含屬性 成員變數 成員屬性 和行為 成員函式 成員方法 封裝的意義 1 將屬性和行為作為乙個整體,表徵現實的事物 2 對屬性和行為進行許可權控制。訪問許可權包括3種 public 公共許可權 成員在類中和類外均可訪問。protecte...
C 物件導向(一)封裝 類和物件
封裝 繼承 多型 封裝 組織 的過程,將 組織為乙個方法,將方法組織成類,將類組成元件,不同的元件組織為乙個系統。封裝可以方便使用者使用,並且能夠保證 的穩定性,安全性。類 一組相似物件的統稱。物件 乙個例項,是類的實現。類與物件的關係類物件 抽象具體 無狀態有狀態 是物件的模板 是類的例項 類與類...
一 封裝(C物件導向開發)
內容參考於 抽象接 術和元件開發規範及其思想 在c語言中,可以使用乙個c檔案 c 檔案 和 件完 h 檔案 成 類 的定義,將所有需要封裝的東西都存於c 檔案中,h 檔案中只展現那些對外可見 無需封裝 重點 的內容。1.示例1 乙個棧物件的例子。stack.h ifndef stack h defi...