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

Lớp hàm và đối tượng hàm chuyên đề NNLT

29 177 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 113,41 KB

Nội dung

!"#$%&'()'&*+&'&*,' /' 012&"'3"40' /567'&89:;<'35=<8' ><?5=<8@ABCDAC9DEF9DG<' !H<'05IJ'KLMNKOP' &QB'F9<8' •  -R>'5S7'GS'TUB'CVW<8'5S7' •  -X>'CYZ<5'C[<8'\9]C'^*E<EYBA'>Y_8Y=77B<8`' –  4a9'^0E7>b=CE`' •  05V'GBc<'d0-' –  -R>'GXC'A5e='^!_<C=B<EYf`' –  gCEY=C_Yf'^0Y9:'h9iC'A]A'>5H<'Cj'Ak='bR>'GXC'A5e=`' –  *BlB'C59XC'^mb8_YBC57f`' O' -R>'5S7'GS'TUB'CVW<8'5S7' •  -R>'5S7'^n9<Ao_<'Ab=ff`p' –  -R>'5q'CYW'C_]<'Cj'5S7'r_>EY=C_Y'^`s' •  (UB'CVW<8'5S7'^n9<Ao_<'_tuEAC`p' –  (UB'CVW<8'C59QA'bR>'5S7' –  !v'G=B'CYw'<5V'7QC'TUB'CVW<8'GS' –  !v'A5eA'<x<8'<5V'7QC'5S7'^Av'C5y'Fz<8'<5V'7QC' 5S7`' N' -R>'5S7'GS'TUB'CVW<8'5S7' •  ({<5'<85|=p' Ab=ff'-EffEY'}' >9tbBAp' 't__b'_>EY=C_Y^`'^B<C'=J' B<C't`'}' ''YEC9Y<'='~'t•' '€' €•' •  dj'F•<8p' 'B<C'='‚'ƒJ't'‚„•' -EffEY'n•' Bn'^n^=J't``' 'A_9C'~~'='~~'E<Fb•' EbfE' 'A_9C'~~'t'~~'E<Fb•' …' -X>'CYZ<5'C[<8'\9]C'' •  †‡'F•p'GBˆC'5S7'r4=hs'<5X<'GS_'N'TUB'fU'Av' ?By9'fU'<89:;<'GS'CYl'G‰'fU'bR<'<5iC'CY_<8'N' fUD' 'B<C'4=h^B<C'=J'B<C't`'}' ' '€' P' -X>'CYZ<5'C[<8'\9]C'' •  †‡'F•p'GBˆC'5S7'r4=hs'<5X<'GS_'N'TUB'fU'Av' ?By9'fU'<89:;<'GS'CYl'G‰'fU'bR<'<5iC'CY_<8'N' fUD' 'B<C'4=h^B<C'=J'B<C't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' ƒ' -X>'CYZ<5'C[<8'\9]C'' •  †‡'F•p'GBˆC'5S7'r4=hs'<5X<'GS_'N'TUB'fU'Av' ?By9'fU'C5ŒA'GS'CYl'G‰'fU'bR<'<5iC'CY_<8'N'fUD' '' „' -X>'CYZ<5'C[<8'\9]C'' •  †‡'F•p'GBˆC'5S7'r4=hs'<5X<'GS_'N'TUB'fU'Av' ?By9'fU'C5ŒA'GS'CYl'G‰'fU'bR<'<5iC'CY_<8'N'fUD' '' 'F_9tbE'4=h^F_9tbE'=J'F_9tbE't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' •' -X>'CYZ<5'C[<8'\9]C'' •  d_'f]<5'N'5S7p' 'B<C'4=h^B<C'=J'B<C't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' 'F_9tbE'4=h^F_9tbE'=J'F_9tbE't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' L' -X>'CYZ<5'C[<8'\9]C'' •  d_'f]<5'N'5S7p' 'B<C'4=h^B<C'=J'B<C't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' 'F_9tbE'4=h^F_9tbE'=J'F_9tbE't`'}' ''YEC9Y<'='Š't'‹'='p't•' '€' ' Ž' [...]... Container: lớp  vật  chứa  lưu  trữ và  quản  lý  các đối   tượng  khác   •  Algorithm:  các hàm  ®nh  toán,  có  thể  làm  việc   trên  nhiều  loại  vật  chứa  khác  nhau   •  Iterator: lớp  trừu tượng  (tổng  quát  hoá  của  con   trỏ)  cho  phép  truy  xuất  các  phần  tử  của  các lớp   vật  chứa   •  Funcoon  Object: đối tượng hàm, lớp  có  định   nghĩa  toán  tử  gọi hàm  (operator()...   Mẫu hàm   •  Khi   biên   dịch,   trình   biên   dịch   (g++)   sẽ   sinh   ra   các hàm  thật  sự  từ  các  mẫu hàm  dựa  vào    kiểu   của  các đối  số  truyền  cho hàm   •  Trong   ví   dụ   trên,   trình   biên   dịch   sẽ   sinh   ra   2   hàm:   –  Max-­‐int-­‐int   –  Max-­‐double-­‐double   14   Mẫu hàm   •  Sử  dụng hàm  như  kiểu  dữ  liệu   –  Viết  một  mẫu hàm  nhận  vào:  ...  kỳ   •  •  •  •  •  •  Hàm  khởi  tạo  không đối  số:  tạo  stack  rỗng   Hàm  push(x):  đưa  phần  tử  x  vào  đỉnh  ngăn  xếp   Hàm  top():  trả  về  phần  tử  nằm  trên  đỉnh  ngăn  xếp   Hàm  pop():  xoá  bỏ  phần  tử  trên  đỉnh  ngăn  xếp   Hàm  empty():  trả  về  true  nếu  ngăn  xếp  rỗng   Hàm  size():  trả  về  số  phần  tử  có  trong  ngăn  xếp   –  Sử  dụng lớp  Stack  ở  trên  viết... trình   (hàm,   lớp)   trừu   tượng   (tổng   quát)   hơn   bằng   cách   cho   phép   chúng   ta   định   nghĩa   các   hàm   hoặc   phương   thức   của   một   lớp   mà   không  cần  biết  kiểu  thực  sự  của  các  biến  hoặc  các đối   số   •  Đây  chính  là  lập  trình  tổng  quát  (generic  programming)   •  Mẫu  được  chia  thành  hai  loại:   –  Mẫu hàm  (funcoon  template):  viết  các hàm  tổng... foo(A,  4,  print);   16   Mẫu hàm   •  Bài  tập   –  Viết  mẫu hàm  “Nth”  nhận  vào  2 đối  số:   •  Đối   số   1   (C)   là   một   mảng   1   chiều   (biểu   diễn   bằng   con   trỏ)   có   kiểu  bất  kỳ   •  Đối  số  2  (n)  là  một  số  nguyên   •  Trả  về  phần  tử  thứ  n  của  mảng  C  Phần  tử  đầu  oên  có  chỉ  số   1   –  Viết  mẫu hàm  “Count”  nhận  vào:   •  A:  mảng  các  phần... hàm  (funcoon  template):  viết  các hàm  tổng  quát   dùng  với  các đối  số  có  kiểu  bất  kỳ   –  Mẫu lớp  (class  template):  viết  các lớp  có  các  biến  thành   viên  có  kiểu  bất  kỳ   11   Mẫu hàm   template    kieu-­‐tra-­‐ve  ten-­‐ ham(doi-­‐so)  {    //thân hàm   }     12   Mẫu hàm   Ví  dụ:   #include     using  namespace  std;     template... •  F: hàm  kiểm  tra  1  phần  tử  của  A  có  thoả  1  điều  kiện  nào  đó   không   •  Trả  về  số  phần  tử  của  mảng  A  thoả  điều  kiện  F   17   Mẫu lớp   •  Cài   đặt   lớp   DanhSach   dùng   để   lưu   trữ   một   danh  sách  các  số  nguyên  (danh  sách  đặc)   –  Hàm  khởi  tạo  không đối  số:  tạo  danh  sách  rỗng   –  Các  phương  thức:   •  insert:  thêm  1  số  nguyên  vào  cuối... Mẫu lớp   •  Sử  dụng  mẫu lớp:   int  main()  {    DanhSach  ds_nguyen;    ds_nguyen.insert(5);    ds_nguyen.insert(7);    ds_nguyen.print();    cout  

Ngày đăng: 22/10/2014, 23:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w