THAM TRỊ: 6.3.1| Ví dụ: #include "iostream" using namespace std; //prototype int nhapSoNguyen();
void hoanVi(int x, int y);
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 99
void main()
{
int nSo1, nSo2;
// nhap 2 so nguyen
nSo1 = nhapSoNguyen(); nSo2 = nhapSoNguyen();
//hoan vi gia tri 2 biến
cout << "so nguyen da nhap : " << nSo1 << " , " << nSo2;
hoanVi(nSo1, nSo2);
cout << "\n so nguyen sau khi hoan vi " << nSo1 << " , " << nSo2;
cout << endl; system("pause"); }
//dinh nghia ham //ham nhap so nguyen
int nhapSoNguyen()
{
int kq;
cout << "nhap so nguyen: "; cin >> kq;
return kq;
}
//ham hoan vi gia tri 2 bien x, y
void hoanVi(int x, int y)
{
int tam = x;
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 100
y = tam;
}
Kết quả:
Trong hàm HoanVi ở trên, biến x, y là tham số hình thức được truyền bằng giá trị (gọi là tham trị của hàm). Các tham trị của h{m coi như l{ một biến cục bộ trong h{m v{ chúng được sử dụng như l{ dữ liệu đầu vào của hàm.
- Khi chương trình con được gọi để thi hành, tham trị được cấp ô nhớ và nhận giá trị là bản sao giá trị của tham số thực. Do đó, mặc dù tham trị cũng l{ biến, nhưng việc thay đổi giá trị của chúng bên trong hàm không ảnh hưởng đến giá trị của chúng bên ngồi hàm, khơng ảnh hưởng đến chương trình chính, nghĩa là khơng làm ảnh hưởng đến tham số thực tương ứng
THAM CHIẾU: 6.3.2| Ví dụ: #include "iostream" using namespace std; //prototype int nhapSoNguyen();
void hoanVi(int &x, int &y);
//ham main
void main()
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 101
int nSo1, nSo2;
// nhap 2 so nguyen
nSo1 = nhapSoNguyen(); nSo2 = nhapSoNguyen();
//hoan vi gia tri 2 biến
cout << "so nguyen da nhap : " << nSo1 << " , " << nSo2;
hoanVi(nSo1, nSo2);
cout << "\n so nguyen sau khi hoan vi " << nSo1 << " , " << nSo2;
cout << endl; system("pause"); }
//dinh nghia ham //ham nhap so nguyen
int nhapSoNguyen()
{
int kq;
cout << "nhap so nguyen: "; cin >> kq;
return kq;
}
//ham hoan vi gia tri 2 bien x, y
void hoanVi(int &x, int &y)
{
int tam = x;
x = y; y = tam;
Tài liệu giảng dạy Kỹ thuật lập trình 1 Trang 102 Kết quả:
Trong trường hợp đối số của hàm là tham chiếu, khi gọi hàm tham số thực tế là các biến. Mọi sự thay đổi của tham số bên trong th}n h{m đều t|c động trực tiếp lên vùng nhớ được quản lý bởi tham số thực tế tương ứng. Điều này dẫn đến mọi sự thay đổi của tham số thực tế trong th}n h{m đều ảnh hưởng đến tham số đó sau khi ra khỏi hàm.