Lập trình hướng đối tượng C/C++ - OOP 04 operators - Pdf 95

HàmHàm
toántoán
tửtử
GV. GV. NguyễnNguyễn Minh Minh HuyHuy
HàmHàm
toántoán
tửtử
1Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 KháiKhái niệmniệm cơcơ bảnbản
 Con Con trỏtrỏ this.this.
 HàmHàm Friend.Friend.
2Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 KháiKhái niệmniệm cơcơ bảnbản
 Con Con trỏtrỏ this.this.
 HàmHàm Friend.Friend.
3Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
KháiKhái niệmniệm cơcơ bảnbản
 SựSự kháckhác biệtbiệt giữagiữa intint vàvà PhanSoPhanSo??
// // ThaoThao táctác trêntrên kiểukiểu intint
void main()void main()
{{
intint a, b;a, b;
intint c = a + b;c = a + b;
}}
// // ThaoThao táctác trêntrên kiểukiểu PhanSoPhanSo
void void mainmain()()
{{
PhanSoPhanSo p1, p2;p1, p2;
PhansoPhanso p3 = p1.cong(p2);p3 = p1.cong(p2);

operator +operator +
(const (const
PhanSoPhanSo
&p1, const &p1, const
PhanSoPhanSo
&p2);&p2);
 CôngCông dụngdụng::
 SửSử dụngdụng toántoán tửtử trêntrên kiểukiểu ngườingười dùngdùng địnhđịnh nghĩanghĩa
PhanSoPhanSo p3 = p1 p3 = p1 ++ p2;p2;
 ĐịnhĐịnh nghĩanghĩa nhiềunhiều cáchcách thựcthực hiệnhiện toántoán tửtử ((nnạpạp chồngchồng hàmhàm).).
float float opeartoropeartor ++(const (const PhanSoPhanSo &p, float so);&p, float so);
5Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
KháiKhái niệmniệm cơcơ bảnbản
 PhânPhân loạiloại hàmhàm toántoán tửtử::

ToánToán tửtử độcđộc lậplập::
 KhôngKhông thuộcthuộc lớplớp nàonào
 SốSố lượnglượng thamtham sốsố = = ngôingôi toántoán tửtử
PhanSoPhanSo operator +operator +(const (const PhanSoPhanSo &p1, const &p1, const PhanSoPhanSo &p2);&p2);
boolbool
operator >operator >
(const (const
PhanSoPhanSo
&p1, const &p1, const
PhanSoPhanSo
&p2);&p2);
boolbool
operator >operator >
(const (const
PhanSoPhanSo

ToánToán tửtử Ý nghĩaÝ nghĩa
Truy xuất phần tửTruy xuất phần tử
.*.* TruyTruy xuấtxuất con con trỏtrỏ phầnphần tửtử
::::
ToánToán
tửtử
::::
8Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
::::
ToánToán
tửtử
::::
? :? : ToánToán tửtử điềuđiều kiệnkiện
## ChỉChỉ thịthị tiềntiền xửxử lýlý
# ## # ChỉChỉ thịthị tiềntiền xửxử lýlý
KháiKhái niệmniệm cơcơ bảnbản
 NhữngNhững hạnhạn chếchế (4 (4 khôngkhông):):

KhôngKhông thểthể tạotạo toántoán tửtử mớimới
 KhôngKhông thểthể địnhđịnh nghĩanghĩa lạilại toántoán tửtử trêntrên kiểukiểu cơcơ bảnbản
 KhôngKhông thểthể thaythay đổiđổi ngôingôi củacủa toántoán tửtử
 KhôngKhông thểthể thaythay đổiđổi độđộ ưuưu tiêntiên củacủa toántoán tửtử
9Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
KháiKhái niệmniệm cơcơ bảnbản
 Dr. Guru Dr. Guru khuyênkhuyên::

QuyQuy tắctắc địnhđịnh nghĩanghĩa toántoán tửtử::
 TênTên hàmhàm: : operator <operator <têntên toántoán tửtử>>
 SốSố lượnglượng thamtham sốsố: : ngôingôi toántoán tửtử
 KiểuKiểu thamtham sốsố: : kiểukiểu toántoán hạnghạng

Con Con trỏtrỏ thisthis
 XétXét toántoán tửtử +=:+=:

TrangTrang bịbị toántoán tửtử +=+= chocho lớplớp PhanSoPhanSo
 ToánToán tửtử += += trảtrả vềvề gìgì??
 LàmLàm saosao lấylấy đượcđược đốiđối tượngtượng đangđang gọigọi phươngphương thứcthức??
 Con Con trỏtrỏ this.this.
12Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Con Con trỏtrỏ thisthis
 Con Con trỏtrỏ this:this:

MộtMột con con trỏtrỏ đặcđặc biệtbiệt trongtrong C++.C++.
 GiữGiữ địađịa chỉchỉ củacủa đốiđối tượngtượng đangđang gọigọi phươngphương thứcthức
PhanSoPhanSo& & PhanSoPhanSo::::operator +=operator +=(const (const PhanSoPhanSo &p)&p)
{{
// // CộngCộng phânphân sốsố
return *this;return *this;
}}
 VíVí dụdụ::

ToánToán tửtử =.=.
13Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
NộiNội dungdung
 KháiKhái niệmniệm cơcơ bảnbản
 Con Con trỏtrỏ this.this.
 HàmHàm Friend.Friend.
14Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
HàmHàm FriendFriend
 XétXét toántoán tửtử xuấtxuất <<:<<:


ostreamostream& & operator <<(operator <<(ostreamostream &&osos, const , const PhanSoPhanSo &p)&p)
{{
osos << << p.m_tup.m_tu << “/” << << “/” << p.m_maup.m_mau << << endlendl;;
}}
16Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
TómTóm tắttắt
 HàmHàm toántoán tửtử::

HàmHàm cócó têntên làlà toántoán tửtử
 DùngDùng địnhđịnh nghĩanghĩa lạilại toántoán tửtử
 CóCó 2 2 loạiloại hàmhàm toántoán tửtử::
 ToánToán tửtử độcđộc lậplập
 ToánToán tửtử thuộcthuộc lớplớp
 Con Con trỏtrỏ this:this:

GiữGiữ địađịa chỉchỉ củacủa đốiđối tượngtượng gọigọi phươngphương thứcthức
 HàmHàm Friend:Friend:

HàmHàm truytruy xuấtxuất đượcđược thànhthành phầnphần củacủa lớplớp
17Phươ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 4.1:4.1:
TrangTrang bịbị chocho lớplớp phânphân sốsố nhữngnhững toántoán tửtử sausau::
 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ử mộtmột ngôingôi: ++, : ++, ((tăngtăng, , giảmgiảm 1 1 đơnđơn vịvị).).

ToánToán
tửtử
épép

++, ++,

((
tăngtăng
, ,
giảmgiảm
bậcbậc
).).
 ! (! (đạođạo hàmhàm), ~ (), ~ (nguyênnguyên hàmhàm).).
 ToánToán tửtử nhậpnhập, , xuấtxuất: >>, <<.: >>, <<.
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 4.3:4.3:
TrangTrang bịbị chocho lớplớp mảngmảng nhữngnhững toántoán tửtử sausau::
 ToánToán tửtử gángán: =.: =.
 ToánToán tửtử lấylấy phầnphần tửtử: [ ].: [ ].
 ToánToán tửtử épép kiểukiểu: (: (intint *).*).

ToánToán
tửtử
nhậpnhập
, ,
xuấtxuất
: >>, <<.: >>, <<.

ToánToán
tửtử
nhậpnhập
, ,
xuấtxuất

 ThôngThông báobáo giờgiờ, , phútphút, , giâygiây
 ThôngThông báobáo giâygiây tuyệttuyệt đốiđối trongtrong ngàyngày
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 4.4:4.4:
XâyXây dựngdựng lớplớp TimeTime ((tiếptiếp theotheo):):
((NhómNhóm xửxử lýlý nghiệpnghiệp vụvụ))
 So So sánhsánh thứthứ tựtự vớivới đốiđối tượngtượng Time Time kháckhác
 TínhTính khoảngkhoảng cáchcách đếnđến đốiđối tượngtượng Time Time kháckhác ((đơnđơn vịvị giâygiây).).

CộngCộng
giờgiờ
, ,
cộngcộng
phútphút
, ,
cộngcộng
giâygiây


CộngCộng
giờgiờ
, ,
cộngcộng
phútphút
, ,
cộngcộng
giâygiây

((NhómNhóm toántoán tửtử))

tuyệttuyệt
đốiđối
trongtrong
nămnăm

 KhởiKhởi tạotạo từtừ mộtmột đốiđối tượngtượng Date Date kháckhác
((NhómNhóm truytruy xuấtxuất thôngthông tin)tin)
 ThôngThông báobáo ngàyngày, , thángtháng, , nămnăm
 ThôngThông báobáo ngàyngày tuyệttuyệt đốiđối trongtrong nămnăm
 ThôngThông báobáo thứthứ trongtrong tuầntuần
 ThôngThông báobáo tuầntuần trongtrong nămnăm
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 4.5:4.5:
XâyXây dựngdựng lớplớp DateDate ((tiếptiếp theotheo):):
((NhómNhóm xửxử lýlý nghiệpnghiệp vụvụ))
 KiểmKiểm tratra nămnăm nhuậnnhuận
 So So sánhsánh thứthứ tựtự vớivới đốiđối tượngtượng Date Date kháckhác

TínhTính
khoảngkhoảng
cáchcách
đếnđến
đốiđối
tượngtượng
Date Date
kháckhác
((
đơnđơn
vịvị


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