tailieunhanh - ngôn ngữ lập trình C++ 1

tài liệu công nghệ thông tin về kỹ thuật lập trình | Ngôn ngữ lập trình C++1 THAM CHIẾU (Reference) Tham chiếu là gì? Giới hạn của tham chiếu Truyền tham chiếu cho hàm Hàm trả về nhiều giá trị Hàm tạo bản sao Con trỏ và tham chiếu Tham chiếu con trỏ THAM CHIẾU LÀ GÌ ? 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 đối tượng khác thì tham chiếu hoạt động như chính đối tượng đã gán đến nó Cú pháp: Kiểu &TênThamChiếu = MộtĐốiTượngĐãTồnTại; Ví dụ: Sinhvien sv_lop_T14A; Sinhvien &sv1 = sv_lop_T14A; THAM CHIẾU LÀ GÌ ? Địa chỉ của tham chiếu: là địa chỉ của đối tượng mà nó tham chiếu đến. Tương tự như trong thực tế khi một bí danh đã được gắn với một người nào đó cụ thể. Chú ý: không thể gán lại thêm một lần nữa tên của tham chiếu cho một đối tượng khác. GIỚI HẠN CỦA THAM CHIẾU Có thể thực hiện tham chiếu với đối tượng nào? phải tham chiếu đến một đối tượng cụ thể! Ví dụ các khai báo sau là sai 1) int &sn=int; 2) Sinhvien &sv1=Sinhvien; Các khai báo đúng 1) int sn=20; int &i=sn; 2) Sinhvien sv_lop_T14A; Sinhvien &sv1 = | Ngôn ngữ lập trình C++1 THAM CHIẾU (Reference) Tham chiếu là gì? Giới hạn của tham chiếu Truyền tham chiếu cho hàm Hàm trả về nhiều giá trị Hàm tạo bản sao Con trỏ và tham chiếu Tham chiếu con trỏ THAM CHIẾU LÀ GÌ ? 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 đối tượng khác thì tham chiếu hoạt động như chính đối tượng đã gán đến nó Cú pháp: Kiểu &TênThamChiếu = MộtĐốiTượngĐãTồnTại; Ví dụ: Sinhvien sv_lop_T14A; Sinhvien &sv1 = sv_lop_T14A; THAM CHIẾU LÀ GÌ ? Địa chỉ của tham chiếu: là địa chỉ của đối tượng mà nó tham chiếu đến. Tương tự như trong thực tế khi một bí danh đã được gắn với một người nào đó cụ thể. Chú ý: không thể gán lại thêm một lần nữa tên của tham chiếu cho một đối tượng khác. GIỚI HẠN CỦA THAM CHIẾU Có thể thực hiện tham chiếu với đối tượng nào? phải tham chiếu đến một đối tượng cụ thể! Ví dụ các khai báo sau là sai 1) int &sn=int; 2) Sinhvien &sv1=Sinhvien; Các khai báo đúng 1) int sn=20; int &i=sn; 2) Sinhvien sv_lop_T14A; Sinhvien &sv1 = sv_lop_T14A; TRUYỀN THAM CHIẾU CHO HÀM(1) Nhắc lại về truyền tham trị: Đối số truyền cho hàm là các giá trị Câu lệnh return cho phép trả về một giá trị void Doicho(int x, int y) { int tam; tam=x; x=y; y=tam; } Giá trị của các đối số x, y chỉ được đổi chỗ cho nhau trong pham vi của hàm TRUYỀN THAM CHIẾU CHO HÀM(2) Giải quyết bằng con trỏ void Doicho(int *px, int *py); { int tam; tam=*px; *px=*py; *py=tam; } Khi gọi hàm phải truyền đối số là con trỏ int x=5,y=7; Doicho(&x,&y); Lúc này 2 giá trị x và y mới thực sự được đổi chỗ cho nhau TRUYỀN THAM CHIẾU CHO HÀM(3) Giải quyết bằng truyền tham chiếu đến hàm: Đối tượng thực sự được truyền đến hàm Có thể sửa đổi được giá trị của đổi tượng 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 Doicho(x,y); HÀM TRẢ VỀ NHIỀU GIÁ TRỊ(1) Hàm chỉ có thể trả về một giá trị. Chúng ta sẽ sử dụng kỹ thuật truyền tham chiếu để thay đổi các đối tượng ngoài ngay .

TỪ KHÓA LIÊN QUAN