Con trỏ this trong C++
Mỗi đối tượng trong C++ có sự truy cập tới vị trí riêng của nó thông qua một con trỏ quan trọng gọi là con trỏ this. Con trỏ this trong C++ là một tham số ẩn với tất cả hàm thành viên. Vì thế, bên trong một hàm thành viên, con trỏ this có thể tham chiếu tới đối tượng đang gọi.
Các hàm friend không có con trỏ this, bởi vì friend không phải là các thành viên của một lớp. Chỉ có các hàm thành viên trong C++ là có con trỏ this.
Bạn xét ví dụ sau để hiểu khái niệm về con trỏ this trong C++:
#include <iostream> using namespace std; class Box { public: // phan dinh nghia Constructor Box(double dai=1.0, double rong=1.0, double cao=1.0) { cout <<"Constructor duoc goi!" << endl; chieudai = dai; chieurong = rong; chieucao = cao; } double theTich() { return chieudai * chieurong * chieucao; } int sosanh(Box box) { return this->theTich() > box.theTich(); } private: double chieudai; // chieu dai cua mot box double chieurong; // chieu rong cua mot box double chieucao; // chieu cao cua mot box }; int main(void) { Box Box1(2.4, 4.2, 2.2); // khai bao box1 Box Box2(4.5, 2.0, 3.2); // khai bao box2 if(Box1.sosanh(Box2)) { cout << "Box2 la nho hon Box1" <<endl; } else { cout << "Box2 la bang hoac lon hon Box1" <<endl; } return 0; }
Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học C++ phổ biến khác tại vietjack.com: