GiaoTrinhC++(27Jun21)

(Hoang2711) #1

Thiết kế trang Web


42 • Ông Văn Thông


Ví dụ: #include
using namespace std;
int tich (int x, int y)
{ cout << x << " " << y << " = " ; return x y; }
int main() { int dapso = tich (333, 123);
cout << dapso ; return 0; }
Kết quả: 333 * 123 = 40959


8. Trao đối số tham chiếu


Trong các ví dụ trước, chúng ta đã dùng các biến bình thường khi trao tham số cho hàm. Bạn
cũng có thể trao một tham chiếu đến hàm. Điều này có thể hữu ích khi bạn cần thay đổi giá trị
của các đối số


Ví dụ: #include
using namespace std;
void swap(string &x, string &y) {
string z = x; x = y; y = z; }
int main() {
string first = "Truong Long"; string second = "Trieu Ho";
cout << "Before swap: " ;
cout << first << " " << second << "\n";
swap(first, second);
cout << "After swap: " ;
cout << first << " " << second << "\n"; return 0; }


Kết quả: Before swap: After swap: Truong Long Trieu Ho Trieu Ho Truong Long

9. Hàm quá tải


Với hàm quá tải, nhiều hàm có thể có cùng tên với các tham số khác nhau:



  • int tong3so (int x, int y, int z)

  • float tong3so (float x, float y, float z)

  • double tong3so (double x, double y, double z)
    Hãy xem xét ví dụ sau đây, có hai hàm dùng cộng 2 số thuộc loại khác nhau:


Ví dụ: #include
using namespace std;
int plusInt(int x, int y) {return x + y; }
double plusDouble(double x, double y) { return x + y; }
int main() {
int oneNbr1 = plusInt(18, 25);
double oneNbr2 = plusDouble(34.43, 62.26);
cout << "Int: " << oneNbr1 << "\n";
cout << "Double: " << oneNbr2;
return 0; }
Kết quả: Int: 43Double: 96.69


Thay vì tạo hai hàm để làm cùng một việc, tốt hơn là tạo một hàm quá tải.


Trong ví dụ dưới đây, chúng ta tạo hàm quá tải plusAll để hoạt động cho cả int, double, và string:

Free download pdf