4.封裝案例2(點和圓的關係)
• 將屬性和行為作為乙個整體,表現生活中的事物
• 將屬性和行為加以許可權控制
意義一:語法class 類名;
意義二:類在設計時,可以把屬性和行為放在不同的許可權下,加以控制
【三種訪問許可權】
許可權名稱
類內、類外訪問情況
繼承訪問情況
public
公共許可權
成員 類內可以訪問、類外也可以訪問
protected
保護許可權
成員 類內可以訪問、類外不能訪問
繼承中子類可以訪問父類的保護內容
private
私有許可權
成員 類內可以訪問、類外不能訪問
繼承中子類不能訪問父類的保護內容
唯一的區別在於:預設的訪問許可權不同
• struct預設許可權為公共
• class預設許可權為私有
優點1:將所有成員屬性設定為私有,可以自己控制讀寫許可權
優點2:對於寫許可權,我們可以檢測資料的有效性
class
person
//讀姓名(獲取姓名)
string getname()
//讀年齡
intgetage()
//寫年齡
void
setname
(int age)
m_age = age;
}//設定情人
void
setlover
(string lover)};
intmain()
【立方體類設計】
1.建立立方體類
2.設計屬性:長l寬w高h
3.設計行為:獲取立方體的面積和體積
4.分別利用全域性函式和成員函式判斷兩個立方體是否相等
1.建立立方體類
2.設計屬性:長l寬w高h
3.設計行為:獲取立方體的面積和體積
class
cube
intgetcube_volume()
};
4.分別利用全域性函式和成員函式判斷兩個立方體是否相等
備註:此處使用全域性函式,則函式引數需要傳入兩個立方體;
使用成員函式只要傳入乙個立方體即可(即第二個立方體)。
//利用成員函式判斷兩個立方體是否相等
class
cube
return
false;}
};//利用全域性函式判斷兩個立方體是否相等
bool
issame1
(cube& c1, cube& c2)
return
false
;}
#include
#include
using
namespace std;
//立方體類設計
//1.建立立方體類
//2.設計屬性:長l寬w高h
//3.設計行為:獲取立方體的面積和體積
//4.分別利用全域性函式和成員函式判斷兩個立方體是否相等
class
cube
intget_l()
void
set_w
(int w)
intget_w()
void
set_h
(int h)
intget_h()
intgetcube_area()
intgetcube_volume()
//利用成員函式判斷兩個立方體是否相等
bool
issame2
(cube& c)
return
false;}
};//利用全域性函式判斷兩個立方體是否相等
bool
issame1
(cube& c1, cube& c2)
return
false;}
intmain()
else
ret = c1.
issame2
(c2);if
(ret)
else
return0;
}
計算點和圓心的距離
點類的標頭檔案point.h
#pragma once
#include
using
namespace std;
class
point
;
點類的原始檔point.cpp
#include
"point.h"
//設定橫座標x
void point::
setx
(int x)
//設定橫座標y
void point::
sety
(int y)
//獲取橫座標x
int point::
getx()
//獲取橫座標y
int point::
gety()
圓類的標頭檔案circle.h
#pragma once
#include
#include
"point.h"
using
namespace std;
class
circle
;
圓類的原始檔circle.cpp
#include
"circle.h"
//設定半徑
void circle::
setr
(double r)
//獲得半徑
double circle::
getr()
//設定圓心
void circle::
setcenter
(point center)
//獲取圓心
point circle::
getcenter()
void
isincircle
(circle& c, point& p)
else
if(distance > c.
getr()
)else
}
#include
#include
#include
"point.h"
#include
"circle.h"
using
namespace std;
intmain()
C 封裝篇 類物件的定義
1 物件的例項化 在c 中類是乙個模板,物件的例項化其實就是計算機根據乙個類的設計製造出多個物件的過程。物件例項化有兩種方式 2 從棧例項化 class tv 類名 物件 int main void tv tv tv tv 20 return 0 3 從堆例項化物件 int main int p n...
C 類和物件 封裝
c 物件導向三大特性 封裝 繼承 多型 將屬性和行為作為乙個整體,表現生活中的事物 將屬性和行為加以許可權控制 public 公共許可權 類內可以訪問,類外可以訪問 protected 保護許可權 類內可以訪問,類外不可以訪問 private 私有許可權 類內可以訪問,類外不可以訪問 在c 中str...
C 學習記錄 (4)類和物件 封裝
下面就是c 對於c的不同 物件導向程式設計。封裝就是把屬性和行為作為乙個整體,並加以許可權控制。訪問許可權有 public protected private 1 public 類內和類外都可以訪問。2 protected 類內可以訪問 內外不能訪問。繼承後,子類可以訪問父類的protected。3...