Lập trình hướng đối tượng tren C/C++ - OOP 06 the STL library and encapsulation - Pdf 95

ThưThư việnviện STL,STL,
TínhTính
đóngđóng
góigói
GV. GV. NguyễnNguyễn Minh Minh HuyHuy
TínhTính
đóngđóng
góigói
1Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 ThưThư việnviện C++.C++.
 ThưThư việnviện STL.STL.
 TínhTính đóngđóng góigói
2Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 ThưThư việnviện C++.C++.
 ThưThư việnviện STL.STL.
 TínhTính đóngđóng góigói
3Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
ThưThư việnviện C++C++
 KháiKhái niệmniệm thưthư việnviện::

ThợThợ xâyxây dựngdựng dùngdùng gìgì đểđể xâyxây nhànhà??
 TayTay khôngkhông
 CôngCông cụcụ hỗhỗ trợtrợ
 ThưThư việnviện lậplập trìnhtrình::
BộBộ
côngcông
cụcụ
hỗhỗ
trợtrợ

 CấuCấu trúctrúc::
 ThưThư việnviện nhậpnhập xuấtxuất: : iostreamiostream, , fstreamfstream, , iomanipiomanip, , 
 ThưThư việnviện STL.STL.
 ThưThư việnviện chuẩnchuẩn C: file header C: file header ccxxx.hxxx.h
5Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 ThưThư việnviện C++.C++.
 ThưThư việnviện STL.STL.
 TínhTính đóngđóng góigói
6Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
ThưThư việnviện STLSTL
 GiớiGiới thiệuthiệu STLSTL––SStandard tandard TTemplate emplate LLibrary:ibrary:

Alexander Alexander StepanovStepanov, 1994., 1994.
 PhầnPhần chínhchính yếuyếu củacủa thưthư việnviện chuẩnchuẩn
 TậpTập hợphợp class template class template dựngdựng sẵnsẵn
 HỗHỗ trợtrợ cấucấu trúctrúc dữdữ liệuliệu tổngtổng quátquát
 CấuCấu trúctrúc thưthư việnviện::
 NhómNhóm containers.containers.
 NhómNhóm iteratorsiterators
 NhómNhóm algorithms.algorithms.
 NhómNhóm functorsfunctors
7Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Thư viện chuẩn
Thư viện STL
iterators
algorithms functions
containers
ThưThư việnviện STLSTL
 LớpLớp string (header <string>):string (header <string>):

;;
coutcout
<< “equal.” << << “equal.” <<
endlendl
;;
elseelse
coutcout << “not equal.” << << “not equal.” << endlendl;;
s2 = s1.substr(4, 4);s2 = s1.substr(4, 4);
coutcout << s2;<< s2;
stringstring s3 = s1 + s2;s3 = s1 + s2;
coutcout << s3 << << s3 << endlendl;;
}}
9Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
ThưThư việnviện STLSTL
 LớpLớp vector (header <vector>):vector (header <vector>):

LớpLớp mảngmảng kiểukiểu tổngtổng quátquát T.T.
 GiảiGiải quyếtquyết 3 3 vấnvấn đềđề con con trỏtrỏ
 CácCác phươngphương thứcthức chínhchính::
Phương
thức
Ý
nghĩa
10Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Phương
thức
Ý
nghĩa
vector<T>() Khởi tạo mảng kiểu T.
size() Lấy kích thước mảng.

thuầnthuần
túytúySửSử
dụngdụng
lớplớp
mảngmảng
độngđộng
thuầnthuần
túytúy

SửSử dụngdụng lớplớp string string vàvà vector vector củacủa thưthư việnviện STL.STL.
12Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 ThưThư việnviện C++.C++.
 ThưThư việnviện STL.STL.
 TínhTính đóngđóng góigói
13Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
TínhTính đóngđóng góigói
 QuyQuy tắctắc hộphộp đenđen::

ThuộcThuộc tínhtính: : privateprivate đểđể hạnhạn chếchế truytruy xuấtxuất
 PhươngPhương thứcthức: : publicpublic đểđể cungcung cấpcấp tínhtính năngnăng
class class HocSinhHocSinh
{{
{{
private:private:
char*char* m_hoTenm_hoTen;;
floatfloat m_diemVanm_diemVan;;

float&float& layDiemToanlayDiemToan();();
};};
TínhTính đóngđóng góigói
 LàmLàm saosao vẫnvẫn tuântuân thủthủ quyquy tắctắc hộphộp đenđen??

ĐưaĐưa xửxử lýlý chocho đốiđối tượngtượng thựcthực hiệnhiện
class class HocSinhHocSinh
{{
private:private:
char*char*
m_hoTenm_hoTen
;;
char*char*
m_hoTenm_hoTen
;;
floatfloat m_diemVanm_diemVan;;
floatfloat m_diemToanm_diemToan;;
public:public:
float float tinhDTBtinhDTB();();
intint xepLoaixepLoai();();
};};
16Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
TínhTính đóngđóng góigói
 Dr. Guru Dr. Guru khuyênkhuyên: : quyquy tắctắc “Tell, Don’t Ask”“Tell, Don’t Ask”

ThôngThông tin tin đốiđối tượngtượng
 KhôngKhông thểthể truytruy xuấtxuất từtừ bênbên ngoàingoài
 ĐốiĐối tượngtượng nắmnắm giữgiữ thôngthông tintin
 ChịuChịu tráchtrách nhiệmnhiệm xửxử lýlý thôngthông tin.tin.
 ““ĐừngĐừng hỏihỏi tôitôi thôngthông tin tin đểđể thựcthực hiệnhiện côngcông việcviệc””

class class BangDiemBangDiem
{{
private:private:
vector<vector<HocSinhHocSinh> > m_danhSachm_danhSach;;
};};
TómTóm tắttắt
 ThưThư việnviện C++:C++:

BộBộ côngcông cụcụ dựngdựng sẵnsẵn hỗhỗ trợtrợ lậplập trìnhtrình C++.C++.
 CácCác thưthư việnviện phổphổ biếnbiến::
 ThưThư việnviện chuẩnchuẩn::
 ThưThư việnviện boost.boost.
ThưThư
việnviện
MFC.MFC.

ThưThư
việnviện
MFC.MFC.
 ThưThư việnviện STL:STL:

PhầnPhần chínhchính yếuyếu củacủa thưthư việnviện chuẩnchuẩn
 CácCác lớplớp dựngdựng sẵnsẵn: string, vector.: string, vector.
 TínhTính đóngđóng góigói::

Tell, Don’t Ask.Tell, Don’t Ask.
19Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
BàiBài tậptập
 BàiBài tậptập 6.1:6.1:
VớiVới mỗimỗi thưthư việnviện bênbên dướidưới, , hãyhãy liệtliệt kêkê têntên vàvà chocho biếtbiết tínhtính năngnăng củacủa ítít

xuấtxuất
hiệnhiện
nhiềunhiều
nhấtnhất
trongtrong
đoạnđoạn
vănvăn

 SắpSắp xếpxếp tăngtăng dầndần ((thứthứ tựtự từtừ điểnđiển) ) cáccác từtừ trongtrong mỗimỗi câucâu
 GhiGhi đoạnđoạn vănvăn đãđã chỉnhchỉnh sửasửa vàovào file file vănvăn bảnbản
21Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
BàiBài tậptập
 BàiBài tậptập 6.3:6.3:
XâyXây dựngdựng lớplớp đađa thứcthức cócó nhữngnhững phươngphương thứcthức sausau::
((NhómNhóm tạotạo hủyhủy))
 KhởiKhởi tạotạo mặcmặc địnhđịnh đađa thứcthức = 0.= 0.
 KhởiKhởi tạotạo vớivới bậcbậc vàvà mảngmảng hệhệ sốsố chocho trướctrước

KhởiKhởi
tạotạo
từtừ
mộtmột
đốiđối
tượngtượng
đađa
thứcthức
kháckhác


KhởiKhởi



TínhTính
giágiá
trịtrị
, ,
đạođạo
hàmhàm
, ,
nguyênnguyên
hàmhàm

((NhómNhóm toántoán tửtử))
 ToánToán tửtử sốsố họchọc: +, : +, , *, /, =., *, /, =.
 ToánToán tửtử so so sánhsánh: >, <, ==, >=, <=, !=: >, <, ==, >=, <=, !=
 ToánToán tửtử đạođạo hàmhàm (!), (!), nguyênnguyên hàmhàm (~).(~).
 ToánToán tửtử nhậpnhập xuấtxuất: >>, <<.: >>, <<.
23Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
BàiBài tậptập
 BàiBài tậptập 6.4:6.4:
XâyXây dựngdựng cáccác lớplớp cầncần thiếtthiết đểđể thựcthực hiệnhiện cáccác thaothao táctác trêntrên tam tam giácgiác::
 TínhTính chuchu vi vi vàvà diệndiện tíchtích
 TìmTìm trọngtrọng tâmtâm ((giaogiao 3 3 đườngđường trungtrung tuyếntuyến).).
 TìmTìm đườngđường trungtrung trựctrực củacủa mộtmột cạnhcạnh ((vuôngvuông gócgóc tạitại trungtrung điểmđiểm).).

TìmTìm
tâmtâm
đườngđường
tròntròn
ngoạingoại


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status