1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu hàm và thư viện lập trình phần 7 ppt

5 242 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 161,59 KB

Nội dung

31 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Lý do trả về con trỏ hoặc tham chiếu  Tương tự như lý do truyền ₫ịachỉ hoặctruyềntham chiếu: —Tránhsaochépdữ liệulớnkhôngcầnthiết — Để có thể truy cậptrựctiếpvàthay₫ổigiátrị₫ầura  Có thể trả về con trỏ hoặcthamchiếuvào₫âu? — Vào biếntoàncục — Vào tham số truyền cho hàm qua ₫ịachỉ hoặcqua tham chiếu — Nói chung: vào vùng nhớ mà còn tiếptụctồntại sau khi kết thúc hàm  Con trỏ lạiphứctạpthêmmột chút? 32 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Phảnvídụ: trả về con trỏ int* f(int* p, int n) { int Max = *p; int *p2 = p + n; while (p < p2) { if (*p > Max) Max = *p; ++p; } return &Max; } void main() { int s[5] = { 1, 2, 3, 4, 5}; int *p = FindMax(s,5); // get invalid address } 33 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Các ví dụ nghiên cứu: Đúng / sai? int* f1(int a) { return &a; } int& f2(int &a) { return a; } int f3(int &a) { return a; } int* f4(int *pa) { return pa; } int f5(int *pa) { return *pa; } int& f6(int *pa) { return *pa; } int& f7(int a) { return a; } int *pa; int* f8() { return pa; } 34 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.4 Thiếtkế hàm và thư viện  Viếtmộtchương trình chạytốt ₫ãkhó, viếtmộtthư việnhàmtốtcònkhóhơn!  Mộtthư việnhàm₫ịnh nghĩa: —mộttậphợp các hàm (có liên quan theo mộtchủ₫ềchức năng) —những kiểudữ liệusử dụng trong các hàm —mộtsố biếntoàncục(rấthạnchế)  Mộtthư việnhàmtốtcầnphải: —Thựchiệnnhững chứcnăng hữuích — Đơngiản, dễ sử dụng —Hiệusuấtvà₫ộ tin cậycao —Trọnvẹn, nhấtquánvà₫ồng bộ 35 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Thiếtkế hàm  Phân tích yêu cầu: — Làm rõ các dữ kiện(₫ầuvào) vàkếtquả (₫ầura) — Tìm ra các chứcnăng cầnthựchiện  Đặt tên hàm: ngắngọn, ý nghĩaxác₫áng, tự miêu tả —Hàmchỉ hành ₫ộng: Chọntênhàmlàmột ₫ộng từ kếthợpvớikiểu ₫ốitượng chủ thể, ví dụ printVector, displayMatrix, addComplex, sortEventQueue, filterAnalogSignal, — Hàm truy nhậpthuộc tính: Có thể chọnlà₫ộng từ hoặcdanhtừ kết hợpkiểu ₫ốitượng chủ thể, ví dụ length, size, numberOfColums, getMatrixElem, putShapeColor — Trong C++ nhiềuhàmcóthể giống tên (nạpchồng tên hàm), có thể chọntênngắn, ví dụ sort, print, display, add, putColor, getColor => nguyên tắc ₫a hình/₫axạ theo quan ₫iểmh ướng ₫ốitượng — Trong C++ còn có thể₫ịnh nghĩa hàm toán tử₫ểcó thể sử dụng các ký hiệutoántử₫ịnh nghĩasẵnnhư *, /, +, - thay cho lờigọihàm. . f7(int a) { return a; } int *pa; int* f8() { return pa; } 34 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.4 Thiếtkế hàm và thư viện  Viếtmộtchương trình chạytốt ₫ãkhó, viếtmộtthư việnhàmtốtcònkhóhơn! . dụng —Hiệusuấtvà₫ộ tin cậycao —Trọnvẹn, nhấtquánvà₫ồng bộ 35 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Thiếtkế hàm  Phân tích yêu cầu: — Làm rõ các dữ kiện(₫ầuvào) vàkếtquả (₫ầura) — Tìm ra. viếtmộtthư việnhàmtốtcònkhóhơn!  Mộtthư việnhàm₫ịnh nghĩa: —mộttậphợp các hàm (có liên quan theo mộtchủ₫ềchức năng) —những kiểudữ liệusử dụng trong các hàm —mộtsố biếntoàncục(rấthạnchế)  Mộtthư việnhàmtốtcầnphải: —Thựchiệnnhững

Ngày đăng: 31/07/2014, 04:20

TỪ KHÓA LIÊN QUAN