Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Con trỏ Null và Con trỏ Hàm

Con trỏ Null

Một trỏ null là con trỏ trỏ dùng để khởi gán cho một biến trỏ có kiểu dữ liệu bất kì. Trong C++, nó được quy định là 0.
int *p; p = 0;
char *c;
c = 0;
Bạn không nên nhầm lẫn giữa con trỏ null và con trỏ void. Một con trỏ null là một giá trị cụ thể mà mọi con trỏ đều có thể trỏ đến, và nó có thể trỏ đến “mọi vị trí”. Trong khi đó, con trỏ void là con trỏ đặc biệt, nó có thể trỏ đến “vài vị trí”.

Con trỏ hàm

C++ cho phép thực thi tính toán với con trỏ trỏ vào hàm. Khi thực thi điều này, nó sẽ xem hàm như là một tham số trỏ vào một hàm khác, nhưng chúng không tồn tại tham chiếu ngược. Để khai báo một con trỏ hàm, chúng ta cần khai báo nó như khai báo prototype cho một hàm, nhưng tên của hàm sẽ được bao trong dấu () đồng thời bổ sung * phía trước tên của nó.
Chương trình Kết quả
#include using namespace std;
int addition(int a, int b)
{
return a+b;
}
int substraction(int a, int b)
{
return a-b;
}
int operation (int x, int y, int (*functocall) (int, int))
{
int g;
g=(*functocall)(x,y);
return (g);
}
int main()
{
int m, n;
int (*minus)(int, int) = substraction;
m = operation(7, 5, addition);
cout<<
n = operation(20, m, minus);
cout<
return 0;
}
12 8
Giải thích: Hai hàm addition và substraction thực hiện các chức năng cộng và trừ hai số nguyên. Hàm operation sẽ gọi hàm tương ứng với con trỏ hàm được chỉ định. Trong hàm main, con trỏ hàm minus sẽ tương ứng với hàm substraction. Khi gọi hàm operation, tùy theo con trỏ hàm quy định ở tham số thứ ba, nó sẽ trỏ đến hàm tương ứng được chỉ định: operation(7, 5, addition) – trỏ đến hàm addition, tức cộng hai số 7 và 5. Tương tự, operation(20, m, minus) sẽ tương ứng với operation(20, m, substraction) và cho kết quả là phép trừ 20 cho m.
Bài tập 9. 1. Hãy xây dựng ba hàm cộng hai số nguyên addi, cộng hai số thực addf và cộng hai xâu adds bằng cách sử dụng con trỏ hàm. Hàm tổng quát sẽ được đặt tên là add.
2. Sử dụng con trỏ hàm để xây dựng hàm giải phương trình bậc nhất và phương trình bậc 2.
3. Sử dụng con trỏ hàm để tính các tích phân sau bằng phương pháp hình thang hoặc hình chữ nhật (phải, trái hoặc trung vị).

2 comments:

  1. bài viết hay quá nhưng thực sự mình vẫn chưa hiểu rõ con trỏ hàm,

    ReplyDelete
  2. Làm bài 9.1 là OK luôn. Cảm ơn tác giả!

    ReplyDelete