Bài giảng Kỹ thuật lập trình – Chương 3: Hàm gồm có những nội dung như: Truyền tham trị, tham biến và tham số ngầm định; đa năng hóa hàm (function overload); con trỏ hàm và tham số hóa hàm; khái quát hóa hàm (function templates); biểu thức lamda và hàm nặc danh.
.c om cu u du o ng th an co ng Chương 3: Hàm CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung cu u du o ng th an co ng c om Truyền tham trị, tham biến tham số ngầm định Đa hóa hàm (function overload) Con trỏ hàm tham số hóa hàm Khái quát hóa hàm (function templates) Biểu thức lamda hàm nặc danh CuuDuongThanCong.com https://fb.com/tailieudientucntt Khái niệm hàm c om • Là nhóm khai báo câu lệnh gán tên gọi co ng • Đây khối lệnh đặt tên nên sử dụng thuận tiện, hiệu • Hàm thường trả giá trị an • Là chương trình cu u du o ng th • Khi viết chương trình C/C++ ta ln định nghĩa hàm có tên main • Phía hàm main ta gọi hàm khác • Bản than hàm lại gọi hàm khác tiếp tục vậy… CuuDuongThanCong.com https://fb.com/tailieudientucntt Cấu pháp cu u du o ng th an co ng c om return-type name(argument-list) { local-declarations statements return return-value; } CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: Square c om double square(double a) { return a * a; } th an co int main(void) { double num = 0.0, sqr = 0.0; ng Đây định nghĩa hàm hàm main du o ng printf("enter a number\n"); scanf("%lf",&num); Đây chỗ gọi hàm square u sqr = square(num); cu printf("square of %g is %g\n", num, sqr); return 0; } CuuDuongThanCong.com https://fb.com/tailieudientucntt Tại cần sử dụng hàm? c om • Chia vấn đề thành nhiều tác vụ ng • Dễ dàng giải vấn đề phức tạp an co • Tổng quát hóa tập câu lệnh hay lặp lại du o ng th • Ta khơng phải viết thứ lặp lặp lại nhiều lần • printf scanf ví dụ điển hình… cu u • Hàm giúp chương trình dễ đọc bảo trì nhiều CuuDuongThanCong.com https://fb.com/tailieudientucntt Hàm truyền tham số c om • Trong C: tên hàm phải nhất, lời gọi hàm phải có đối số hợp tương ứng kiểu với tham số ng đn hàm C có cách truyền tham số: an co tham trị (kể dùng địa vậy) th • Trong C++: ngồi truyền tham trị, C++ cịn cho phép truyền du o ng tham chiếu Tham số C++ cịn có kiểu tham số ngầm định (default parameter), số đối số lời gọi hàm cu u tham số định nghĩa Đồng thời C++ có chế đa hóa hàm, tên hàm CuuDuongThanCong.com https://fb.com/tailieudientucntt Truyền tham chiếu c om • Hàm nhận tham số trỏ void Swap(int *X, int *Y) { ng int Temp = *X; co *X = *Y; th an *Y = Temp; du o ng } u • Để hốn đổi giá trị hai biến A B cu Swap(&A, &B); CuuDuongThanCong.com https://fb.com/tailieudientucntt Truyền tham chiếu c om • Hàm nhận tham số tham chiếu an co ng void Swap(int &X, int &Y){ int Temp = X; X = Y; Y = Temp; ng th } cu u Swap(A, B); du o • Để hốn đổi giá trị hai biến A B CuuDuongThanCong.com https://fb.com/tailieudientucntt Truyền tham chiếu Khi hàm trả int X = 4; tham ng int & MyFunc(){ } an gọi hàm th int main(){ phía bên trái du o ng Cout