SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Nội dung trình bày
•   Tham chiếu và hàm có nhiều giá trị trả về.
•   Hàm có đối số mặc định
•   Quá tải hàm
•   Hàm inline
•   Hàm đệ quy
Tham chiếu là gì ?
• Tham chiếu là một bí danh của biến khác.
• Khi tạo ra một tham chiếu, gán nó lên một
  biến khác thì tham chiếu hoạt động như
  chính biến đã gán đến nó.
• Cú pháp:
  <Kiểu giá trị> &Tên tham chiếu = Biến đã tồn tại;
• Ví dụ:
  int a = 6;
  int &b = a;
Tham chiếu là gì ?
• Tham chiếu tương tự trong thực tế như
  một người có thể được gán một bí danh
  khác (một người có nhiều tên gọi khác
  nhau).
• Trong mô hình bộ nhớ máy tính thì địa chỉ
  của tham chiếu chính là địa chỉ của biến
  mà nó tham chiếu đến.
Tham chiếu là gì ?
• Ta không thể gán thêm một lần nữa tên
  của tham chiếu cho một biến khác.
  int a = 5;
  int b = 8;
  int &c = a;
  &c = b; // Lỗi tại đây
• Kiểu dữ liệu của tham chiếu phải trùng với
  kiểu dữ liệu của biến mà nó tham chiếu
  đến.
Tham chiếu là gì ?
• Ta có thể tham chiếu đến một bí danh
  (cũng là một tham chiếu)
  int a = 5;
  int &b = a;
  int &c = b;
• Ta chỉ được tham chiếu đến một biến cụ
  thể chứ không được tham chiếu đến một
  kiểu dữ liệu.
  int &x = int; // Lỗi tại đây
Truyền tham chiếu cho hàm
• Nhắc lại về truyền tham trị:
  – Đối số truyền cho hàm là các tham trị
  – Ví dụ:
     void Doicho(int x, int y)
     {
       int tam;
       tam=x;
       x=y;
       y=tam;
     }
  – Giá trị của các tham số hình thức x, y chỉ được đổi
    chỗ cho nhau trong pham vi của hàm. Nhưng giá trị
    các tham số thực sẽ không đổi chỗ được cho nhau.
Truyền tham chiếu cho hàm
• Truyền tham chiếu cho hàm:
   – Để các tham số thực có thể đổi chỗ được cho nhau, ta thay các
     đối số truyền cho hàm là các tham trị.
   – Ví dụ:
       void Doicho(int &x, int &y)
       {
         int tam;
         tam=x;
         x=y;
         y=tam;
       }
   – Khi goi hàm, biến được truyền trưc tiếp, 2 giá trị x và y thực sự
     được đổi chỗ cho nhau
               int a = 5, b = 8;
               Doicho(a, b);
Hàm trả về nhiều giá trị
• Ta đã học hàm trả về một giá trị, đó chính
  là giá trị trả về cho hàm (thông qua câu
  lệnh return)
• Chúng ta sẽ sử dụng kỹ thuật truyền tham
  chiếu để thay đổi các biến ngoài ngay bên
  trong hàm, và như vậy ta có thể coi hàm
  “trả về” nhiều giá trị.
Hàm trả về nhiều giá trị
• Ví dụ:
  – Xây dựng hàm trả về giá trị của diện tích và chu vi
    hình tròn với đầu vào là bán kính r
     void HinhTron(float r, float &dientich, float &chuvi)
     {
              dientich = 3.14 * r * r;
              chuvi = 2 * 3.14 * r;
     }
  – Khi gọi hàm phải truyền biến vào tham chiếu để nhận
    giá trị trả về
            HinhTron(r, dt, cv);
Hàm có đối số mặc định
• Hàm có đối số mặc định là hàm chứa đối
  số mà giá trị của đối số được xác định
  trước ngay ở phần khai báo hàm (đối số
  mặc định)
  – Ví dụ:
     void f (int x = 1)
     {
       ….
     }
Hàm có đối số mặc định
• Nếu ta không truyền tham số thực vào cho
  hàm tại đối số có giá trị mặc định thì đối số
  tại vị ví trí đó sẽ tự động nhận giá trị mặc
  định làm giá trị của đối số.
  – Ví dụ:
     Nếu ta gọi hàm như sau: f(5); thì x sẽ nhận giá trị 5
     Nếu ta gọi hàm như sau: f(); thì x sẽ nhận giá trị 1
Hàm có đối số mặc định
• Các đối mặc định phải là các đối số cuối
  cùng tính từ trái sang phải.
  – Ví dụ:
     • Các hàm có đối số mặc định sau là đúng:
        int tinhToan(int x, int y = 7);
        void soThuc(float x, int y = 12, float z = 1.1);
     • Các hàm có đối số mặc định sau là sai:
        int tinhToan(int x = 6, int y);
        void soThuc(float x = 2.3, int y = 12, float z);
Quá tải hàm
         (Overloading Function)
• Trong ngôn ngữ C và các ngôn ngữ khác, ta
  thấy rằng mỗi hàm đảm nhận một chức năng
  nào đó đều có một tên riêng biệt.
• Tuy nhiên có nhiều hàm có cùng một ý nghĩa
  nhưng lại có tên gọi nhau do giá trị đầu vào hay
  giá trị trả về của hàm có kiểu dữ liệu khác nhau.
  – Ví dụ: Trong C có 3 hàm trả về giá trị tuyệt đối:
     int abs(int i);
     long labs(long l);
     double fabs(double d);
Quá tải hàm
• C++ cho phép tạo ra các hàm khác nhau
  có tên trùng nhau. Đây chính là quá tải
  hàm.
• Ví dụ:
    int abs(int i);
    long abs(long i);
    double abs(double d);
    int Tong(int a, int b);
    int Tong(int a, int b, int c);
    long Tong(long a, long b);
Các đặc điểm của quá tải hàm
• Các hàm quá tải có những đặc điểm sau:
  – Số lượng tham số của các hàm quá tải có thể
    khác nhau. Nếu số lượng tham số trùng nhau
    thì kiểu dữ liệu của các tham số phải khác
    nhau.
  – Giá trị trả về của các hàm quá tải có thể trùng
    hoặc khác nhau miễn là tham số phải khác
    nhau.
Các đặc điểm của quá tải hàm
• Các khai báo sau sẽ bị báo lỗi khi biên
  dịch:
  int Tong(int a, int b);
  long Tong(int a, int b);
• Các khai báo sau sẽ không bị báo lỗi khi
  biên dịch:
  long Tong(int a, float b);
  long Tong(int a, int b);
  float Tong(int a);
Các đặc điểm của quá tải hàm
• Chú ý: Cần đảm bảo các kiểu khác nhau
  của các tham số của các hàm quá tải là
  các kiểu khác nhau thực sự
• Ví dụ: Kiểu được typedef thật ra chỉ là một
  biệt danh của một kiểu đã có, vì vậy đoạn
  chương trình sau sẽ bị sai
     typedef int Songuyen;
     int Tang(int a);
     int Tang(Songuyen a);
Hàm inline
• Khi định nghĩa một hàm, trình biên dịch chỉ
  tạo ra một bộ chỉ thị trong bộ nhớ. Khi
  hàm được gọi, chương trình sẽ tự động
  chuyển quyền điều khiển đến đoạn mã
  chứa bộ chỉ thị của hàm.
• Các thực hiện này cho phép tiết kiệm bộ
  nhớ khi thực hiện chương trình nhưng lại
  làm giảm tốc độ thực hiện chương trình.
Hàm inline
• Ta sử dụng từ khoá inline khi khai báo hàm để
  trình biên dịch không tạo ra một bộ chỉ thị đối với
  hàm. Thay vào đó tại mỗi nơi trong chương trình
  có lời gọi hàm, trình biên dịch sẽ chèn đoạn mã
  của hàm vào ngay chỗ đó.
• Cách sử dụng từ khoá inline cho phép tăng tốc
  độ thực hiện chương trình, nhưng lại chiếm
  không gian bộ nhớ nhiều hơn, do đó ta chỉ nên
  sử dụng từ khoá inline đối với các hàm không
  lớn lắm.
Hàm inline
• Ví dụ:
  inline double cube(doule side)
  {
      return side * side * side;
  }
  void main()
  {
      double sideValue = 4;
      cout << cude(sideValue) << endl;
  }
Đệ quy
• Đệ quy (Recursion) là một phương pháp
  dùng trong các chương trình máy tính
  trong đó có một hàm tự gọi đến chính nó.
Khái niệm hình thức về đệ quy
• Trong toán học và khoa học máy tính, các tính chất
  (hoặc cấu trúc) được gọi là đệ quy nếu trong đó một lớp
  các đối tượng hoặc phương pháp được xác định bằng
  việc xác định một số rất ít các trường hợp hoặc phương
  pháp đơn giản (thông thường chỉ một) và sau đó xác
  định quy tắc đưa các trường hợp phức tạp về các
  trường hợp đơn giản.
• Chẳng hạn, định nghĩa sau là định nghĩa đệ quy của tổ
  tiên:
   – Bố mẹ của một người là tổ tiên của người ấy ('trường hợp cơ
     bản);
   – Bố mẹ của tổ tiên một người bất kỳ là tổ tiên của người ấy (“
     bước đệ quy).
Định nghĩa theo đệ quy
• Một khái niệm X được định nghĩa theo đệ
  qui nếu trong định nghĩa X có sử dụng
  ngay chính khái niệm X.
• Ví dụ:
  – Định nghĩa số Số tự nhiên
    • 0 là một số tự nhiên.
    • n là số tự nhiên nếu n - 1 là số tự nhiên.
  – Định nghĩa Hàm giai thừa n!
    • 0! = 1
    • Nếu n > 0 thì n! = n(n - 1)!
Hàm đệ quy
• Một hàm được gọi là đệ quy nếu trong quá trình
  thực hiện nó có phần phải gọi đến chính nó.
• Cấu trúc chính của một hàm đệ quy
  – Một hàm đệ quy về cơ bản gồm hai phần:
     • Phần cơ sở: chứa các tác động của hàm với một số giá trị cụ
       thể ban đầu của tham số.
     • Phần đệ quy: Định nghĩa tác động cần được thực hiện cho
       giá trị hiện thời của các tham số bằng các tác động đã được
       định nghĩa trước đây với kích thước tham số nhỏ hơn.
Hàm đệ quy
• Ví dụ: Xây dựng hàm đệ quy tính n!
  long giaiThua(int n)
  {
    if (n == 1)
            return 1;
    else
            return n * giaiThua(n - 1);
  }
Hàm đệ quy
•   Qui trình thực hiện: Trong ví dụ trên, qui trình thực hiện như sau:
    Khi có lệnh gọi hàm, chẳng hạn:
     – x = giaiThua(3);
    thì máy sẽ ghi nhớ là:
     – giaiThua(3) := 3 * giaiThua (2); và đi tính giaiThua (2)
    kế tiếp máy lại ghi nhớ:
     – giaiThua(2) := 2 * giaiThua (1); và đi tính giaiThua (1)
    Theo định nghĩa của hàm thì:
     – giaiThua(1) := 1;
    Máy sẽ quay ngược lại:
     – giaiThua(2) := 2 * 1; cho kết quả là 2
    Tiếp tục:
     – giaiThua(3) := 3 * 2; cho kết quả là 6
    Như vậy kết quả cuối cùng trả về là 6. Ta có: 3! = 6.

Contenu connexe

Tendances

Phau Thuat Noi Soi Ok
Phau Thuat Noi Soi OkPhau Thuat Noi Soi Ok
Phau Thuat Noi Soi OkKhoa Dương
 
Tài liệu tự học Auto lisp
Tài liệu tự học Auto lispTài liệu tự học Auto lisp
Tài liệu tự học Auto lispTrung Thanh Nguyen
 
He Thong Tien Te Quoc Te
He Thong Tien Te Quoc TeHe Thong Tien Te Quoc Te
He Thong Tien Te Quoc Tehsplastic
 
Đề Cương Quản Lý Nhà Nước Về Đô Thị
Đề Cương Quản Lý Nhà Nước Về Đô Thị Đề Cương Quản Lý Nhà Nước Về Đô Thị
Đề Cương Quản Lý Nhà Nước Về Đô Thị nataliej4
 
Thoat Vi Thanh Bung Ok
Thoat Vi Thanh Bung OkThoat Vi Thanh Bung Ok
Thoat Vi Thanh Bung OkKhoa Dương
 
Petocdai 90 blogs-moveable-type
Petocdai 90 blogs-moveable-typePetocdai 90 blogs-moveable-type
Petocdai 90 blogs-moveable-typepetocdai_90
 
Tran Khi Mp Tu Phat Ok
Tran Khi Mp Tu Phat OkTran Khi Mp Tu Phat Ok
Tran Khi Mp Tu Phat OkKhoa Dương
 
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách nataliej4
 
Glass Shoe
Glass ShoeGlass Shoe
Glass Shoepro_pro
 
PRA cho thong hoat vien (facilitator)
PRA cho thong hoat vien (facilitator)PRA cho thong hoat vien (facilitator)
PRA cho thong hoat vien (facilitator)foreman
 

Tendances (17)

Phau Thuat Noi Soi Ok
Phau Thuat Noi Soi OkPhau Thuat Noi Soi Ok
Phau Thuat Noi Soi Ok
 
Microsoft%20 Project
Microsoft%20 ProjectMicrosoft%20 Project
Microsoft%20 Project
 
Tài liệu tự học Auto lisp
Tài liệu tự học Auto lispTài liệu tự học Auto lisp
Tài liệu tự học Auto lisp
 
Do Hau Mon Ok
Do Hau Mon OkDo Hau Mon Ok
Do Hau Mon Ok
 
He Thong Tien Te Quoc Te
He Thong Tien Te Quoc TeHe Thong Tien Te Quoc Te
He Thong Tien Te Quoc Te
 
Đề Cương Quản Lý Nhà Nước Về Đô Thị
Đề Cương Quản Lý Nhà Nước Về Đô Thị Đề Cương Quản Lý Nhà Nước Về Đô Thị
Đề Cương Quản Lý Nhà Nước Về Đô Thị
 
Thoat Vi Thanh Bung Ok
Thoat Vi Thanh Bung OkThoat Vi Thanh Bung Ok
Thoat Vi Thanh Bung Ok
 
Petocdai 90 blogs-moveable-type
Petocdai 90 blogs-moveable-typePetocdai 90 blogs-moveable-type
Petocdai 90 blogs-moveable-type
 
22 Dieu Ve Marketing
22 Dieu Ve Marketing22 Dieu Ve Marketing
22 Dieu Ve Marketing
 
Tran Khi Mp Tu Phat Ok
Tran Khi Mp Tu Phat OkTran Khi Mp Tu Phat Ok
Tran Khi Mp Tu Phat Ok
 
Baitap C
Baitap CBaitap C
Baitap C
 
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách
Kinh Tế Học Thể Chế Sở Hữu, Cạnh Tranh, Và Chính Sách
 
Glass Shoe
Glass ShoeGlass Shoe
Glass Shoe
 
PRA cho thong hoat vien (facilitator)
PRA cho thong hoat vien (facilitator)PRA cho thong hoat vien (facilitator)
PRA cho thong hoat vien (facilitator)
 
Bien Chung Ok
Bien Chung OkBien Chung Ok
Bien Chung Ok
 
Dan Luu Ok
Dan Luu OkDan Luu Ok
Dan Luu Ok
 
Chap1
Chap1Chap1
Chap1
 

En vedette

Investor Worries
Investor WorriesInvestor Worries
Investor Worrieskamlesh2008
 
Compensation and incentives for the maintenance of ecosystem services
Compensation and incentives for the maintenance of ecosystem servicesCompensation and incentives for the maintenance of ecosystem services
Compensation and incentives for the maintenance of ecosystem servicesrightsandclimate
 
Psychographic Campaign Evaluation Example I Phone 3 G
Psychographic Campaign Evaluation Example I Phone 3 GPsychographic Campaign Evaluation Example I Phone 3 G
Psychographic Campaign Evaluation Example I Phone 3 Gguest5a152
 
Bruce Willis
Bruce WillisBruce Willis
Bruce WillisKalur
 
Censimento Prospetti del Centro Storico di Parma
Censimento Prospetti del Centro Storico di ParmaCensimento Prospetti del Centro Storico di Parma
Censimento Prospetti del Centro Storico di ParmaSimone Riccardi
 

En vedette (9)

Reunión Planes 15 Octubre 2008
Reunión Planes 15 Octubre 2008Reunión Planes 15 Octubre 2008
Reunión Planes 15 Octubre 2008
 
Investor Worries
Investor WorriesInvestor Worries
Investor Worries
 
Apresentação do ICS
Apresentação do ICSApresentação do ICS
Apresentação do ICS
 
Compensation and incentives for the maintenance of ecosystem services
Compensation and incentives for the maintenance of ecosystem servicesCompensation and incentives for the maintenance of ecosystem services
Compensation and incentives for the maintenance of ecosystem services
 
Psychographic Campaign Evaluation Example I Phone 3 G
Psychographic Campaign Evaluation Example I Phone 3 GPsychographic Campaign Evaluation Example I Phone 3 G
Psychographic Campaign Evaluation Example I Phone 3 G
 
Belgrano
BelgranoBelgrano
Belgrano
 
Bruce Willis
Bruce WillisBruce Willis
Bruce Willis
 
Investment
InvestmentInvestment
Investment
 
Censimento Prospetti del Centro Storico di Parma
Censimento Prospetti del Centro Storico di ParmaCensimento Prospetti del Centro Storico di Parma
Censimento Prospetti del Centro Storico di Parma
 

Similaire à Bai Giang 6

Ap dung cac chien luoc ho tro
Ap dung cac chien luoc ho troAp dung cac chien luoc ho tro
Ap dung cac chien luoc ho troforeman
 
Tam ly tri lieu la gi?
Tam ly tri lieu la gi?Tam ly tri lieu la gi?
Tam ly tri lieu la gi?foreman
 
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH nataliej4
 
Phát trien cong dong
Phát trien cong dongPhát trien cong dong
Phát trien cong dongforeman
 
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC  TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC Bùi Quang Xuân
 
Thiet Ke Du An Co Su Tham Gia
Thiet Ke Du An Co Su Tham GiaThiet Ke Du An Co Su Tham Gia
Thiet Ke Du An Co Su Tham Giaforeman
 
Cam nang dao tao cho giao duc vien dong dang
Cam nang dao tao cho giao duc vien dong dangCam nang dao tao cho giao duc vien dong dang
Cam nang dao tao cho giao duc vien dong dangforeman
 
Intro Job Systemadmin
Intro Job SystemadminIntro Job Systemadmin
Intro Job Systemadminnguyen long
 
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ nataliej4
 
Media Of Thailand
Media Of ThailandMedia Of Thailand
Media Of ThailandSan La
 
Ky nang ho tro - Dieu hanh nhom
Ky nang ho tro - Dieu hanh nhomKy nang ho tro - Dieu hanh nhom
Ky nang ho tro - Dieu hanh nhomforeman
 
quang tri mang
quang tri mangquang tri mang
quang tri mangLâm Khôi
 
Bài Giảng Phương Pháp Nghiên Cứu Định Tính
Bài Giảng Phương Pháp Nghiên Cứu Định Tính Bài Giảng Phương Pháp Nghiên Cứu Định Tính
Bài Giảng Phương Pháp Nghiên Cứu Định Tính nataliej4
 
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM nataliej4
 
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH nataliej4
 
Ba tru cot phat trien nong thon
Ba tru cot phat trien nong thonBa tru cot phat trien nong thon
Ba tru cot phat trien nong thonforeman
 
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em nataliej4
 
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO Bùi Quang Xuân
 

Similaire à Bai Giang 6 (20)

Ap dung cac chien luoc ho tro
Ap dung cac chien luoc ho troAp dung cac chien luoc ho tro
Ap dung cac chien luoc ho tro
 
Tam ly tri lieu la gi?
Tam ly tri lieu la gi?Tam ly tri lieu la gi?
Tam ly tri lieu la gi?
 
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH
HOẠT ĐỘNG GIAO TIẾP NHÂN CÁCH
 
Phát trien cong dong
Phát trien cong dongPhát trien cong dong
Phát trien cong dong
 
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC  TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC
TS. BÙI QUANG XUÂN - MÔI TRƯỜNG HOẠT ĐỘNG CỦA TỔ CHỨC
 
Thiet Ke Du An Co Su Tham Gia
Thiet Ke Du An Co Su Tham GiaThiet Ke Du An Co Su Tham Gia
Thiet Ke Du An Co Su Tham Gia
 
Cam nang dao tao cho giao duc vien dong dang
Cam nang dao tao cho giao duc vien dong dangCam nang dao tao cho giao duc vien dong dang
Cam nang dao tao cho giao duc vien dong dang
 
Intro Job Systemadmin
Intro Job SystemadminIntro Job Systemadmin
Intro Job Systemadmin
 
A
AA
A
 
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ
Đại Cương Giáo Dục Đặc Biệt Cho Trẻ Chậm Phát Triển Trí Tuệ
 
Media Of Thailand
Media Of ThailandMedia Of Thailand
Media Of Thailand
 
Ky nang ho tro - Dieu hanh nhom
Ky nang ho tro - Dieu hanh nhomKy nang ho tro - Dieu hanh nhom
Ky nang ho tro - Dieu hanh nhom
 
quang tri mang
quang tri mangquang tri mang
quang tri mang
 
Bài Giảng Phương Pháp Nghiên Cứu Định Tính
Bài Giảng Phương Pháp Nghiên Cứu Định Tính Bài Giảng Phương Pháp Nghiên Cứu Định Tính
Bài Giảng Phương Pháp Nghiên Cứu Định Tính
 
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM
BÀI GIẢNG TÍN NGƯỠNG DÂN GIAN VIỆT NAM
 
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH
ĐỀ CƯƠNG MÔN HỌC GIÁO DỤC QUỐC PHÒNG VÀ AN NINH
 
Ba tru cot phat trien nong thon
Ba tru cot phat trien nong thonBa tru cot phat trien nong thon
Ba tru cot phat trien nong thon
 
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em
Bài Giảng Phòng Ngừa Xâm Hại Tình Dục Trẻ Em
 
Tri Ok
Tri OkTri Ok
Tri Ok
 
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO
TS. BÙI QUANG XUÂN NGHỆ THUẬT LÃNH ĐẠO
 

Plus de nbb3i

Bai Giang 11
Bai Giang 11Bai Giang 11
Bai Giang 11nbb3i
 
Bai Giang 9
Bai Giang 9Bai Giang 9
Bai Giang 9nbb3i
 
Bai Giang 4
Bai Giang 4Bai Giang 4
Bai Giang 4nbb3i
 
Bai Giang 3
Bai Giang 3Bai Giang 3
Bai Giang 3nbb3i
 
Bai Giang 5
Bai Giang 5Bai Giang 5
Bai Giang 5nbb3i
 
Bai Giang 8
Bai Giang 8Bai Giang 8
Bai Giang 8nbb3i
 
Bai Giang 10
Bai Giang 10Bai Giang 10
Bai Giang 10nbb3i
 
Bai Giang 12
Bai Giang 12Bai Giang 12
Bai Giang 12nbb3i
 

Plus de nbb3i (8)

Bai Giang 11
Bai Giang 11Bai Giang 11
Bai Giang 11
 
Bai Giang 9
Bai Giang 9Bai Giang 9
Bai Giang 9
 
Bai Giang 4
Bai Giang 4Bai Giang 4
Bai Giang 4
 
Bai Giang 3
Bai Giang 3Bai Giang 3
Bai Giang 3
 
Bai Giang 5
Bai Giang 5Bai Giang 5
Bai Giang 5
 
Bai Giang 8
Bai Giang 8Bai Giang 8
Bai Giang 8
 
Bai Giang 10
Bai Giang 10Bai Giang 10
Bai Giang 10
 
Bai Giang 12
Bai Giang 12Bai Giang 12
Bai Giang 12
 

Dernier

Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
vat li 10 Chuyen de bai 4 Xac dinh phuong huong.pptx
vat li 10  Chuyen de bai 4 Xac dinh phuong huong.pptxvat li 10  Chuyen de bai 4 Xac dinh phuong huong.pptx
vat li 10 Chuyen de bai 4 Xac dinh phuong huong.pptxlephuongvu2019
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ haoBookoTime
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...Nguyen Thanh Tu Collection
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11zedgaming208
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...Nguyen Thanh Tu Collection
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21nguyenthao2003bd
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfXem Số Mệnh
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Xem Số Mệnh
 
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfMạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfXem Số Mệnh
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Xem Số Mệnh
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem Số Mệnh
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"LaiHoang6
 

Dernier (20)

Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
vat li 10 Chuyen de bai 4 Xac dinh phuong huong.pptx
vat li 10  Chuyen de bai 4 Xac dinh phuong huong.pptxvat li 10  Chuyen de bai 4 Xac dinh phuong huong.pptx
vat li 10 Chuyen de bai 4 Xac dinh phuong huong.pptx
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
50 ĐỀ ĐỀ XUẤT THI VÀO 10 THPT SỞ GIÁO DỤC THANH HÓA MÔN TIẾNG ANH 9 CÓ TỰ LUẬ...
 
đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21đồ án thương mại quốc tế- hutech - KDQTK21
đồ án thương mại quốc tế- hutech - KDQTK21
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
 
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfMạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
 

Bai Giang 6

  • 1. Nội dung trình bày • Tham chiếu và hàm có nhiều giá trị trả về. • Hàm có đối số mặc định • Quá tải hàm • Hàm inline • Hàm đệ quy
  • 2. Tham chiếu là gì ? • Tham chiếu là một bí danh của biến khác. • Khi tạo ra một tham chiếu, gán nó lên một biến khác thì tham chiếu hoạt động như chính biến đã gán đến nó. • Cú pháp: <Kiểu giá trị> &Tên tham chiếu = Biến đã tồn tại; • Ví dụ: int a = 6; int &b = a;
  • 3. Tham chiếu là gì ? • Tham chiếu tương tự trong thực tế như một người có thể được gán một bí danh khác (một người có nhiều tên gọi khác nhau). • Trong mô hình bộ nhớ máy tính thì địa chỉ của tham chiếu chính là địa chỉ của biến mà nó tham chiếu đến.
  • 4. Tham chiếu là gì ? • Ta không thể gán thêm một lần nữa tên của tham chiếu cho một biến khác. int a = 5; int b = 8; int &c = a; &c = b; // Lỗi tại đây • Kiểu dữ liệu của tham chiếu phải trùng với kiểu dữ liệu của biến mà nó tham chiếu đến.
  • 5. Tham chiếu là gì ? • Ta có thể tham chiếu đến một bí danh (cũng là một tham chiếu) int a = 5; int &b = a; int &c = b; • Ta chỉ được tham chiếu đến một biến cụ thể chứ không được tham chiếu đến một kiểu dữ liệu. int &x = int; // Lỗi tại đây
  • 6. Truyền tham chiếu cho hàm • Nhắc lại về truyền tham trị: – Đối số truyền cho hàm là các tham trị – Ví dụ: void Doicho(int x, int y) { int tam; tam=x; x=y; y=tam; } – Giá trị của các tham số hình thức x, y chỉ được đổi chỗ cho nhau trong pham vi của hàm. Nhưng giá trị các tham số thực sẽ không đổi chỗ được cho nhau.
  • 7. Truyền tham chiếu cho hàm • Truyền tham chiếu cho hàm: – Để các tham số thực có thể đổi chỗ được cho nhau, ta thay các đối số truyền cho hàm là các tham trị. – Ví dụ: void Doicho(int &x, int &y) { int tam; tam=x; x=y; y=tam; } – Khi goi hàm, biến được truyền trưc tiếp, 2 giá trị x và y thực sự được đổi chỗ cho nhau int a = 5, b = 8; Doicho(a, b);
  • 8. Hàm trả về nhiều giá trị • Ta đã học hàm trả về một giá trị, đó chính là giá trị trả về cho hàm (thông qua câu lệnh return) • Chúng ta sẽ sử dụng kỹ thuật truyền tham chiếu để thay đổi các biến ngoài ngay bên trong hàm, và như vậy ta có thể coi hàm “trả về” nhiều giá trị.
  • 9. Hàm trả về nhiều giá trị • Ví dụ: – Xây dựng hàm trả về giá trị của diện tích và chu vi hình tròn với đầu vào là bán kính r void HinhTron(float r, float &dientich, float &chuvi) { dientich = 3.14 * r * r; chuvi = 2 * 3.14 * r; } – Khi gọi hàm phải truyền biến vào tham chiếu để nhận giá trị trả về HinhTron(r, dt, cv);
  • 10. Hàm có đối số mặc định • Hàm có đối số mặc định là hàm chứa đối số mà giá trị của đối số được xác định trước ngay ở phần khai báo hàm (đối số mặc định) – Ví dụ: void f (int x = 1) { …. }
  • 11. Hàm có đối số mặc định • Nếu ta không truyền tham số thực vào cho hàm tại đối số có giá trị mặc định thì đối số tại vị ví trí đó sẽ tự động nhận giá trị mặc định làm giá trị của đối số. – Ví dụ: Nếu ta gọi hàm như sau: f(5); thì x sẽ nhận giá trị 5 Nếu ta gọi hàm như sau: f(); thì x sẽ nhận giá trị 1
  • 12. Hàm có đối số mặc định • Các đối mặc định phải là các đối số cuối cùng tính từ trái sang phải. – Ví dụ: • Các hàm có đối số mặc định sau là đúng: int tinhToan(int x, int y = 7); void soThuc(float x, int y = 12, float z = 1.1); • Các hàm có đối số mặc định sau là sai: int tinhToan(int x = 6, int y); void soThuc(float x = 2.3, int y = 12, float z);
  • 13. Quá tải hàm (Overloading Function) • Trong ngôn ngữ C và các ngôn ngữ khác, ta thấy rằng mỗi hàm đảm nhận một chức năng nào đó đều có một tên riêng biệt. • Tuy nhiên có nhiều hàm có cùng một ý nghĩa nhưng lại có tên gọi nhau do giá trị đầu vào hay giá trị trả về của hàm có kiểu dữ liệu khác nhau. – Ví dụ: Trong C có 3 hàm trả về giá trị tuyệt đối: int abs(int i); long labs(long l); double fabs(double d);
  • 14. Quá tải hàm • C++ cho phép tạo ra các hàm khác nhau có tên trùng nhau. Đây chính là quá tải hàm. • Ví dụ: int abs(int i); long abs(long i); double abs(double d); int Tong(int a, int b); int Tong(int a, int b, int c); long Tong(long a, long b);
  • 15. Các đặc điểm của quá tải hàm • Các hàm quá tải có những đặc điểm sau: – Số lượng tham số của các hàm quá tải có thể khác nhau. Nếu số lượng tham số trùng nhau thì kiểu dữ liệu của các tham số phải khác nhau. – Giá trị trả về của các hàm quá tải có thể trùng hoặc khác nhau miễn là tham số phải khác nhau.
  • 16. Các đặc điểm của quá tải hàm • Các khai báo sau sẽ bị báo lỗi khi biên dịch: int Tong(int a, int b); long Tong(int a, int b); • Các khai báo sau sẽ không bị báo lỗi khi biên dịch: long Tong(int a, float b); long Tong(int a, int b); float Tong(int a);
  • 17. Các đặc điểm của quá tải hàm • Chú ý: Cần đảm bảo các kiểu khác nhau của các tham số của các hàm quá tải là các kiểu khác nhau thực sự • Ví dụ: Kiểu được typedef thật ra chỉ là một biệt danh của một kiểu đã có, vì vậy đoạn chương trình sau sẽ bị sai typedef int Songuyen; int Tang(int a); int Tang(Songuyen a);
  • 18. Hàm inline • Khi định nghĩa một hàm, trình biên dịch chỉ tạo ra một bộ chỉ thị trong bộ nhớ. Khi hàm được gọi, chương trình sẽ tự động chuyển quyền điều khiển đến đoạn mã chứa bộ chỉ thị của hàm. • Các thực hiện này cho phép tiết kiệm bộ nhớ khi thực hiện chương trình nhưng lại làm giảm tốc độ thực hiện chương trình.
  • 19. Hàm inline • Ta sử dụng từ khoá inline khi khai báo hàm để trình biên dịch không tạo ra một bộ chỉ thị đối với hàm. Thay vào đó tại mỗi nơi trong chương trình có lời gọi hàm, trình biên dịch sẽ chèn đoạn mã của hàm vào ngay chỗ đó. • Cách sử dụng từ khoá inline cho phép tăng tốc độ thực hiện chương trình, nhưng lại chiếm không gian bộ nhớ nhiều hơn, do đó ta chỉ nên sử dụng từ khoá inline đối với các hàm không lớn lắm.
  • 20. Hàm inline • Ví dụ: inline double cube(doule side) { return side * side * side; } void main() { double sideValue = 4; cout << cude(sideValue) << endl; }
  • 21. Đệ quy • Đệ quy (Recursion) là một phương pháp dùng trong các chương trình máy tính trong đó có một hàm tự gọi đến chính nó.
  • 22. Khái niệm hình thức về đệ quy • Trong toán học và khoa học máy tính, các tính chất (hoặc cấu trúc) được gọi là đệ quy nếu trong đó một lớp các đối tượng hoặc phương pháp được xác định bằng việc xác định một số rất ít các trường hợp hoặc phương pháp đơn giản (thông thường chỉ một) và sau đó xác định quy tắc đưa các trường hợp phức tạp về các trường hợp đơn giản. • Chẳng hạn, định nghĩa sau là định nghĩa đệ quy của tổ tiên: – Bố mẹ của một người là tổ tiên của người ấy ('trường hợp cơ bản); – Bố mẹ của tổ tiên một người bất kỳ là tổ tiên của người ấy (“ bước đệ quy).
  • 23. Định nghĩa theo đệ quy • Một khái niệm X được định nghĩa theo đệ qui nếu trong định nghĩa X có sử dụng ngay chính khái niệm X. • Ví dụ: – Định nghĩa số Số tự nhiên • 0 là một số tự nhiên. • n là số tự nhiên nếu n - 1 là số tự nhiên. – Định nghĩa Hàm giai thừa n! • 0! = 1 • Nếu n > 0 thì n! = n(n - 1)!
  • 24. Hàm đệ quy • Một hàm được gọi là đệ quy nếu trong quá trình thực hiện nó có phần phải gọi đến chính nó. • Cấu trúc chính của một hàm đệ quy – Một hàm đệ quy về cơ bản gồm hai phần: • Phần cơ sở: chứa các tác động của hàm với một số giá trị cụ thể ban đầu của tham số. • Phần đệ quy: Định nghĩa tác động cần được thực hiện cho giá trị hiện thời của các tham số bằng các tác động đã được định nghĩa trước đây với kích thước tham số nhỏ hơn.
  • 25. Hàm đệ quy • Ví dụ: Xây dựng hàm đệ quy tính n! long giaiThua(int n) { if (n == 1) return 1; else return n * giaiThua(n - 1); }
  • 26. Hàm đệ quy • Qui trình thực hiện: Trong ví dụ trên, qui trình thực hiện như sau: Khi có lệnh gọi hàm, chẳng hạn: – x = giaiThua(3); thì máy sẽ ghi nhớ là: – giaiThua(3) := 3 * giaiThua (2); và đi tính giaiThua (2) kế tiếp máy lại ghi nhớ: – giaiThua(2) := 2 * giaiThua (1); và đi tính giaiThua (1) Theo định nghĩa của hàm thì: – giaiThua(1) := 1; Máy sẽ quay ngược lại: – giaiThua(2) := 2 * 1; cho kết quả là 2 Tiếp tục: – giaiThua(3) := 3 * 2; cho kết quả là 6 Như vậy kết quả cuối cùng trả về là 6. Ta có: 3! = 6.