Tài liệu miễn phí phục vụ học tập nghiên cứu
Tìm nhiều : Tiếng anh, Photoshop , Lập trình

Lập trình OOP với C++ (chương 8)

  • Loại tài liệu : .pdf
  • Dung lượng:0.44 M
  • Lần download: 0 lần
  • Chi phí: Miễn phí, download free
MINH HỌA
  • Lập trình OOP với C++ (chương 8)
  • Lập trình OOP với C++ (chương 8)
  • Lập trình OOP với C++ (chương 8)
  • Lập trình OOP với C++ (chương 8)
  • Lập trình OOP với C++ (chương 8)

Lập trình OOP với C++ (chương 8)

Loại tài liệu : .pdf Dung lượng:0.44 M Lần download: 0 lần Chi phí: Miễn phí, download free

TVMP mang đến các bạn tài liệu Lập trình OOP với C++ (chương 8) : Chương 8, thêm nữa Tái khái niệm Chương này thảo luận về tái khái niệm hàm và toán tử trong C++, nói thêm Thuật ngữ tái khái niệm (overloading) tức là ‘cung cấp đa dạng định nghĩa’, nói thêm là Tái khái niệm hàm liên quan tới việc khái niệm những hàm riêng biệt san sẻ cùng tên, mỗi hàm có 1 dấu hiệu duy nhất, tiếp theo là Tái khái niệm hàm phù hợp cho: • Định nghĩa những hàm về bản chất là làm cùng công việc nhưng thao tác trên những kiểu dữ liệu khác nhau, bên cạnh đó • Cung cấp những giao diện đến cùng hàm, nói thêm Tái khái niệm hàm (function overloading) là 1 thuận tiện trong lập trình, ý nữa Giống như những hàm, những toán tử nhận những toán hạng (các đối số)

Chương này thảo luận về tái định nghĩa hàm và toán tử trong C++. Thuật ngữ tái định nghĩa (overloading) nghĩa là ‘cung cấp nhiều định nghĩa’. Tái định nghĩa hàm liên quan đến việc định nghĩa các hàm riêng biệt chia sẻ cùng tên, mỗi hàm có một dấu hiệu duy nhất. Tái định nghĩa hàm thích hợp cho: • Định nghĩa các hàm về bản chất là làm cùng công việc nhưng thao tác trên các kiểu dữ liệu khác nhau. • Cung cấp các giao diện tới cùng hàm. Tái định nghĩa hàm (function overloading) là một tiện lợi trong lập trình. Giống như các hàm, các toán tử nhận các toán hạng (các đối số) và trả về một giá trị. Phần lớn các toán tử C++ có sẵn đã được tái định nghĩa rồi. Ví dụ, toán tử + có thể được sử dụng để cộng hai số nguyên, hai số thực, hoặc hai địa chỉ. Vì thế, nó có nhiều định nghĩa khác nhau. Các định nghĩa xây dựng sẵn cho các toán tử được giới hạn trên những kiểu có sẵn. Các định nghĩa thêm vào có thể được cung cấp bởi các lập trình viên sao cho chúng cũng có thể thao tác trên các kiểu người dùng định nghĩa. Mỗi định nghĩa thêm vào được cài đặt bởi một hàm. Tái định nghĩa các toán tử sẽ được minh họa bằng cách sử dụng một số lớp đơn giản. Chúng ta sẽ thảo luận các qui luật chuyển kiểu có thể được sử dụng như thế nào để rút gọn nhu cầu cho nhiều tái định nghĩa của cùng toán tử. Chúng ta sẽ trình bày các ví dụ của tái định nghĩa một số toán tử phổ biến gồm cho xuất nhập, [] và () cho các lớp chứa, và các toán tử con trỏ. Chúng ta cũng sẽ thảo luận việc khởi tạo và gán tự động, tầm quan trọng của việc cài đặt chính xác chúng trong các lớp sử dụng các thành viên dữ liệu được cấp phát động.

Tải tài liệu Lập trình OOP với C++ (chương 8) miễn phí ,tại Thư viện tài liệu miễn phí www.thuvienmienphi.com bạn có thể tải nhiều tài liệu, thư viện hoàn toàn miễn phí,bạn có thể chia sẽ tài liệu Lập trình OOP với C++ (chương 8) của bạn cho mọi người cùng nghiên cứu học tập tại đây .DOC: là dạng tài liệu đọc bằng thư viện Microsoft Office,PDF là dạng file đọc bằng phần mềm Adobe - Adobe Reader Một số tài liệu tải về mất font không xem được thì do máy tính bạn không hỗ trợ font củ, bạn tải font các font vntime củ về cài sẽ xem được.

Chương 8.
Tái định nghĩa
Chương này tho lun vtái định nghĩa hàm và toán ttrong C++. Thut ng
tái định nghĩa (overloading) nghĩa là ‘cung cp nhiu định nghĩa’. Tái định
nghĩa hàm liên quan đến vic định nghĩa các hàm riêng bit chia scùng tên,
mi hàm có mt du hiu duy nht. Tái định nghĩa hàm thích hp cho:
Định nghĩa các hàm vbn cht là làm cùng công vic nhưng thao tác
trên các kiu dliu khác nhau.
Cung cp các giao din ti cùng hàm.
Tái định nghĩa hàm (function overloading) là mt tin li trong lp trình.
Ging như các hàm, các toán tnhn các toán hng (các đối s) và trv
mt giá tr. Phn ln các toán tC++ có sn đã được tái định nghĩa ri. Ví d,
toán t+ có thể được sdng để cng hai snguyên, hai sthc, hoc hai
địa ch. Vì thế, nó có nhiu định nghĩa khác nhau. Các định nghĩa xây dng
sn cho các toán tử được gii hn trên nhng kiu có sn. Các định nghĩa
thêm vào có thể được cung cp bi các lp trình viên sao cho chúng cũng có
ththao tác trên các kiu người dùng định nghĩa. Mi định nghĩa thêm vào
được cài đặt bi mt hàm.
Tái định nghĩa các toán tsẽ được minh ha bng cách sdng mt s
lp đơn gin. Chúng ta stho lun các qui lut chuyn kiu có thể được s
dng như
thế nào để rút gn nhu cu cho nhiu tái định nghĩa ca cùng toán
t. Chúng ta strình bày các ví dca tái định nghĩa mt stoán tphbiến
gm << và >> cho xut nhp, [] và () cho các lp cha, và các toán tcon tr.
Chúng ta cũng stho lun vic khi to và gán tự động, tm quan trng ca
vic cài đặt chính xác chúng trong các lp sdng các thành viên dliu
được cp phát động.
Không ging như các hàm và các toán t, các lp không thể được tái
định nghĩa; mi lp phi có mt tên duy nht. Tuy nhiên, như chúng ta s
thy trong chương 8, các lp có thể được sa đổi và mrng thông qua
kh
năng tha kế (inheritance).
Chương 8: Tái định nghĩa
122
8.1.
Tái định nghĩa hàm
Xem xét mt hàm, GetTime, trvthi gian hin ti ca ngày theo các tham
sca nó, và gisrng cn có hai biến thca hàm này: mt trvthi
gian theo giây tính tna đêm, và mt trvthi gian theo gi, phút, giây.
Rõ ràng các hàm này phc vcùng mc đích nên không có lý do gì li để cho
chúng có nhng cái tên khác nhau.
C++ cho phép các hàm được tái định nghĩa, nghĩa là cùng hàm có th
hơn mt định nghĩa:
long GetTime (void); // sgiây tính tna đêm
void GetTime (int &hours, int &minutes,int &seconds);
Khi hàm GetTime được gi, trình biên dch so sánh slượng và kiu các
đối strong li gi vi các định nghĩa ca hàm GetTime và chn mt cái khp
vi li gi. Ví d:
int h, m, s;
long t = GetTime();
GetTime(h, m,s);
// khp vi GetTime(void)
//khp vi GetTime(int&, int&, int&);
Để tránh nhm ln thì mi định nghĩa ca mt hàm được tái định nghĩa
phi có mt du hiu duy nht.
Các hàm thành viên ca mt lp cũng có thể được tái định nghĩa:
class Time {
//...
long GetTime (void); // sgiây tính tna đêm
void GetTime (int &hours, int &minutes, int &seconds);
};
Tái định nghĩa hàm giúp ta thu được nhiu phiên bn đa dng ca hàm
mà không thđược bng cách sdng đơn độc các đối smc định. Các
hàm được tái định nghĩa cũng có thcó các đối smc định:
void Error (int errCode, char *errMsg = "");
void Error (char *errMsg);
8.2.
Tái định nghĩa toán t
C++ cho phép lp trình viên định nghĩa các ý nghĩa thêm vào cho các toán t
xác định trước ca nó bng cách tái định nghĩa chúng. Ví d, chúng ta có th
tái định nghĩa các toán t+ và –để cng và trcác đối tượng Point:
class Point {
public:
Point (int x, int y) {Point::x = x; Point::y = y;}
Chương 8: Tái định nghĩa
123
Point operator+ (Point&p) {return Point(x + p.x,y+ p.y);}
Point operator- (Point &p) {return Point(x - p.x,y - p.y);}
private:
int x, y;
};
Sau định nghĩa này thì + và – có thể được sdng để cng và trcác đim
ging như là chúng được sdng để cng và trcác s:
Point p1(10,20), p2(10,20);
Point p3= p1 + p2;
Point p4= p1 - p2;
Vic tái định nghĩa các toán t+ và – như trên sdng các hàm thành
viên. Mt khnăng khác là mt toán tcó thể được tái định nghĩa toàn cc:
class Point {
public:
Point (int x, int y) {Point::x = x; Point::y = y;}
friend Point operator + (Point &p, Point &q)
{returnPoint(p.x + q.x,p.y+ q.y);}
friend Point operator - (Point &p, Point &q)
{returnPoint(p.x - q.x,p.y- q.y);}
private:
int x, y;
};
Sdng mt toán tử đã tái định nghĩa tương đương vi mt li gi rõ
ràng ti hàm thi công nó. Ví d:
operator+(p1, p2)
// tươngđương vi: p1 + p2
Thông thường, để định nghĩa mt toán t xác định trước thì chúng ta
định nghĩa mt hàm tên operator . Nếu là mt toán tnhhng:
operator phi nhn chính xác mt đối snếu được định nghĩa như mt
thành viên ca lp, hoc hai đối snếu được định nghĩa toàn cc.
Tuy nhiên, nếu là mt toán tử đơn hng:
operator phi nhn không đối snếu được định nghĩa như mt thành viên
ca lp, hoc mt đối snếu được định nghĩa toàn cc.
Bng 8.1 tng kết các toán tC++ có thể được tái định nghĩa. Năm toán
tcòn li không được tái định nghĩa là:
. .* :: ?:
sizeof
Chương 8: Tái định nghĩa
124

DOWNLOAD TÀI LIỆU
Bấm nút LIKE +1 để cảm ơn
  
     
SAU ĐÓ BẤM
Download miễn phí

HỎI ĐÁP LIÊN QUAN

Tài liệu tương tự

Nội quy


website trong giai đoạn phát triển và hoạt động thử nghiệm, tài liệu đăng tải được sưu tầm trên internet tu cac website nhu tailieu.vn, 123doc...nham muc dich chia se kien thuc hoc tap, nếu tai lieu nao thuộc bản quyền hoặc phi phạm pháp luật chúng tôi sẽ gở bỏ theo yêu cầu Tài liệu học tập miễn phí