Giá trị mặc định của tham số

Giá trị mặc định của tham số

Khi định nghĩa một hàm chúng ta có thể chỉ định những giá trị mặc định sẽ được truyền cho các đối số trong trường hợp chúng bị bỏ qua khi hàm được gọi. Để làm việc này đơn giản chỉ cần gán một giá trị cho đối số khi khai báo hàm. Nếu giá trị của tham số đó vẫn được chỉ định khi gọi hàm thì giá trị mặc định sẽ bị bỏ qua.

Ví dụ:

// default values in functions

#include

int divide (int a, int b=2)

{int r;

r=a/b;

return (r);

}int main ()

{cout << divide (12);

cout << endl;

cout << divide (20,4);

return 0;

}

6
5

Nhưng chúng ta thấy trong thân chương trình, có hai lời gọi hàm divide. Trong lệnh đầu tiên:

divide (12)

chúng ta chỉ dùng một tham số nhưng hàm divide cho phép đến hai. Bởi vậy hàm divide sẽ tự cho tham số thứ hai giá trị bằng 2 vì đó là giá trị mặc định của nó (chú ý phần khai báo hàm được kết thúc bởi int b=2). Vì vậy kết quả sẽ là 6 (12/2).

Trong lệnh thứ hai:

divide (20,4)

có hai tham số, bởi vậy giá trị mặc định sẽ được bỏ qua. Kết quả của hàm sẽ là 5 (20/4).

Quá tải các hàm

Hai hàm có thể có cũng tên nếu khai báo tham số của chúng khác nhau, điều này có nghĩa là bạn có thể đặt cùng một tên cho nhiều hàm nếu chúng có số tham số khác nhau hay kiểu dữ liệu của các tham số khác nhau (hay thậm chí là kiểu dữ liệu trả về khác nhau). Ví dụ:

// overloaded function

#include

int divide (int a, int b)

{return (a/b);

}float divide (float a, float b)

{return (a/b);

}int main ()

{int x=5,y=2;

float n=5.0,m=2.0;

cout << divide (x,y);

cout << ” “;

cout << divide (n,m);

return 0;

}

2
2.5

Trong ví dụ này chúng ta định nghĩa hai hàm có cùng tên nhưng một hàm dùng hai tham số kiểu int và hàm còn lại dùng kiểu float. Trình biên dịch sẽ biết cần phải gọi hàm nào bằng cách phân tích kiểu tham số khi hàm được gọi.

Để đơn giản tôi viết cả hai hàm đều có mã lệnh như nhau nhưng điều này không bắt buộc. Bạn có thể xây dựng hai hàm có cùng tên nhưng hoạt động hoàn toàn khác nhau.

Các hàm inline

Chỉ thị inline có thể được đặt trước khao báo của một hàm để chỉ rõ rằng lời gọi hàm sẽ được thay thế bằng mã lệnh của hàm khi chương trình được dịch. Việc này tương đương với việc khai báo một macro, lợi ích của nó chỉ thể hiện với các hàm rất ngắn, tốc độ chạy chương trình sẽ được cải thiện vì nó không phải gọi một thủ tục con.

Cấu trúc của nó như sau:

inline type name ( arguments … ) { instructions … }
lời gọi hàm cũng như bất kỳ một hàm nào khác. Không cần thiết phải đặt từ khoá inline trong lệnh gọi, chỉ cần trong lời khai báo hàm là đủ.

(Theo OurViet Network)

 

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Binh Tran Thanh

Drupal Consultant

Started my career as a drupal8 developer in EM Solutions . I love learning Web technologies like HTML, CSS, PHP, Jquery Ajax and Drupal backend . Currently working as a drupal backend developer.

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Sử dụng Flickr đăng bài cho Blogger

Sử dụng Flickr đăng bài cho Blogger

Flickr, một dịch vụ quản lý ảnh trực tuyến được Yahoo mua lại, cái tên quá quen thuộc đối với cộng đồng chia sẻ ảnh trực tuyến và giới blogger Yahoo! 360.

Open Public

Giới thiệu Drupal distributions: Open Public phát triển bằng Drupal

Public Open is a government-oriented and political sites distribution. Its purpose is that sites are secure, scalable and transparent. Many government sites are built on Drupal because of its robustness and scalability, from the White House or the Senate of the State of New York to other international sites.

Drupal Developer

Những công cụ cho Drupal Developer

Drupal là nền tảng cực kỳ tốt để bạn có thể dựa vào đó và phát triển các ứng dụng web của mình. Tuy nhiên, để trở thành một drupal developer giỏi, bạn cần nhiều thời gian học hỏi và không sử dụng thành thạo các công cụ hỗ trơ. Xin giới thiệu với bạn những công cụ mà chúng tôi biết được trong thời gian dài sử dụng Drupal.