Danh mục

Bài giảng Lý thuyết hệ điều hành - Chương 4

Số trang: 15      Loại file: pdf      Dung lượng: 0.00 B      Lượt xem: 18      Lượt tải: 0    
10.10.2023

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

TOáN Tử TảI BộI Ch-ơng 4 trình bày các vấn đề sau: Định nghĩa toán tử tải bội Một số l-u ý khi xây dựng toán tử tải bội Một số ví dụ minh họa 4.1. Định nghĩa toán tử tải bội Các toán tử cùng tên thực hiện nhiều chức năng khác nhau đ-ợc gọi là toán tử tải bội. Dạng định nghĩa tổng quát của toán tử tải bội nh- sau: Kiểu_trả_về operator op(danh sách tham số) {//thân toán tử} Trong đó: Kiểu_trả_về là kiểu kết quả thực hiện của toán tử. op là tên toán tử...
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết hệ điều hành - Chương 4CH−¬NG 4 TO¸N Tö T¶I BéICh−¬ng 4 tr×nh bµy c¸c vÊn ®Ò sau: §Þnh nghÜa to¸n tö t¶i béi Mét sè l−u ý khi x©y dùng to¸n tö t¶i béi Mét sè vÝ dô minh häa4.1. §Þnh nghÜa to¸n tö t¶i béi C¸c to¸n tö cïng tªn thùc hiÖn nhiÒu chøc n¨ng kh¸c nhau ®−îc gäi lμ to¸ntö t¶i béi. D¹ng ®Þnh nghÜa tæng qu¸t cña to¸n tö t¶i béi nh− sau: KiÓu_tr¶_vÒ operator op(danh s¸ch tham sè) {//th©n to¸n tö}Trong ®ã: KiÓu_tr¶_vÒ lμ kiÓu kÕt qu¶ thùc hiÖn cña to¸n tö. op lμ tªn to¸n tö t¶i béi operator op(danh s¸ch tham sè) gäi lμ hμm to¸n tö t¶i béi, nã cã thÓlμ hμm thμnh phÇn hoÆc lμ hμm b¹n, nh−ng kh«ng thÓ lμ hμm tÜnh. Danh s¸chtham sè ®−îc khai b¸o t−¬ng tù khai b¸o biÕn nh−ng ph¶i tu©n theo nh÷ng quy®Þnh sau:- NÕu to¸n tö t¶i béi lμ hμm thμnh phÇn th×: kh«ng cã tham sè cho to¸n tö métng«i vμ mét tham sè cho to¸n tö hai ng«i. Còng gièng nh− hμm thμnh phÇnth«ng th−êng, hμm thμnh phÇn to¸n tö cã ®èi ®Çu tiªn (kh«ng t−êng minh) lμ contrá this .- NÕu to¸n tö t¶i béi lμ hμm b¹n th×: cã mét tham sè cho to¸n tö mét ng«i vμ haitham sè cho to¸n tö hai ng«i. Qu¸ tr×nh x©y dùng to¸n tö t¶i béi ®−îc thùc hiÖn nh− sau: - §Þnh nghÜa líp ®Ó x¸c ®Þnh kiÓu d÷ liÖu sÏ ®−îc sö dông trong c¸c to¸n töt¶i béi - Khai b¸o hμm to¸n tö t¶i béi trong vïng public cña líp - §Þnh nghÜa néi dung cÇn thùc hiÖn4.2. Mét sè l−u ý khi x©y dùng to¸n tö t¶i béi1. Trong C++ ta cã thÓ ®−a ra nhiÒu ®Þnh nghÜa míi cho hÇu hÕt c¸c to¸n tötrong C++, ngo¹i trõ nh÷ng to¸n tö sau ®©y: - To¸n tö x¸c ®Þnh thμnh phÇn cña líp (‘.’) - To¸n tö ph©n gi¶i miÒn x¸c ®Þnh (‘::’) - To¸n tö x¸c ®Þnh kÝch th−íc (‘sizeof’)Lập trình HĐT 78 http://www.ebook.edu.vn - To¸n tö ®iÒu kiÖn 3 ng«i (‘?:’)2. MÆc dÇu ng÷ nghÜa cña to¸n tö ®−îc më réng nh−ng có ph¸p, c¸c quy t¾c v¨nph¹m nh− sè to¸n h¹ng, quyÒn −u tiªn vμ thø tù kÕt hîp thùc hiÖn cña c¸c to¸ntö vÉn kh«ng cã g× thay ®æi.3. Kh«ng thÓ thay ®æi ý nghÜa c¬ b¶n cña c¸c to¸n tö ®· ®Þnh nghÜa tr−íc, vÝ dôkh«ng thÓ ®Þnh nghÜa l¹i c¸c phÐp to¸n +, - ®èi víi c¸c sè kiÓu int, float.4. C¸c to¸n tö = , ( ) , [ ] , -> yªu cÇu hμm to¸n tö ph¶i lμ hμm thμnh phÇn cñalíp, kh«ng thÓ dïng hμm b¹n ®Ó ®Þnh nghÜa to¸n tö t¶i béi.4.3. Mét sè vÝ dôVÝ dô 4.1 To¸n tö t¶i béi mét ng«i, dïng hμm b¹n#include #include class Diem { private: float x,y,z; public: Diem() {} Diem(float x1,float y1,float z1) { x = x1; y = y1; z=z1;} friend Diem operator -(Diem d) { Diem d1; d1.x = -d.x; d1.y = -d.y;d1.z=-d.z; return d1; } void hienthi() { cout Diem p(2,3,-4),q; q = -p; p.hienthi(); q.hienthi(); getch(); }VÝ dô 4.2 To¸n tö t¶i béi hai ng«i, dïng hμm b¹n#include #include class Diem { private: float x,y,z; public: Diem() {} Diem(float x1,float y1,float z1) { x = x1; y = y1; z=z1;} friend Diem operator +(Diem d1, Diem d2) { Diem tam; tam.x = d1.x + d2.x; tam.y = d1.y + d2.y; tam.z = d1.z + d2.z; return tam; } void hienthi() { cout d1.hienthi(); d2.hienthi(); coutVÝ dô 4.4 To¸n tö t¶i béi hai ng«i, dïng hμm thμnh phÇn#include #include class Diem { private: float x,y,z; public: Diem() {} Diem(float x1,float y1,float z1) { x = x1; y = y1; z=z1;} Diem operator +(Diem d2) { x = x + d2.x; y = y + d2.y; z = z + d2.z; return (*this); } void hienthi() { coutVÝ dô 4.5#include #include class Diem { private: int x,y; public: Diem() {} Diem(int x1,int y1) { x = x1; y = y1;} void operator -() { x = -x; y = -y; } void hienthi() { cout {a=x; b=y;} sophuc operator +(sophuc c2) { sophuc c3; c3.a= a + c2.a ; c3.b= b + c2.b ; return (c3); } void hienthi(sophuc c) { cout a= a + c2.a ; b= b + c2.b ; return (*this); } void hienthi() { cout};void main(){ clrscr(); sophuc d1 (2.1,3.4); sophuc d2 (1.2,2.3) ; sophuc d3 ; coutstring string::operator =(string s2){ strcpy(s,s2.s) ; return *this;}int string::operator 0 ;}int string::operator ...

Tài liệu được xem nhiều: