Biến thành viên trong C++ | Laptrinhcanban.com

Biến thành viên trong C++

Cùm tìm hiểu về biến thành viên trong C++ . Bạn sẽ biết khái niệm biến thành viên trong C++ là gì, cách khai báo cũng như cách sử dụng biến thành viên sau bài học này.

Biến thành viên trong C++ là gì

Biến thành viên trong C++ có tên tiếng anh là member variable, là các biến được khai báo bên trong class, có tác dụng lưu trữ các thông tin của đối tượng được tạo ra từ class.

Trong biến thành viên lưu trữ thông tin của đối tượng, và chúng ta cũng có thể thay đổi trạng thái của đối tượng, thông qua việc thay đổi giá trị của các biến thành viên này.

Thông thường, các biến thành viên trong class được khai báo ở dạng private, do vậy chúng không thể được truy cập hay thay đổi từ bên ngoài class, mà chỉ có thể được tham chiếu truy cập hay thay đổi bằng hàm thành viên mà chúng ta đã được học trong bài Hàm thành viên trong C++.

Khai báo biến thành viên trong C++

Biến thành viên thường được khai báo bên trong file myclas.h cùng với các thành phần khác của khi chúng ta khai báo class trong C++.

Trong khối class, chúng ta chỉ định Access Modifier của biến, sau đó là kiểu, tên biến, và giá trị nếu có của chúng như sau:

class Person {
/*Khai báo biến thành viên*/
private:
int m_a;
double m_b = 20;

/*Khai báo hàm thành viên*/
public:
void myfunc()
//...
};

Access Modifier là từ khóa quy định một biến hay hàm thành viên trong class có thể được truy cập từ bên ngoài class hay không. Nếu chỉ định Access Modifier là public thì chúng ta có thể truy cập và sử dụng hàm thành viên đó từ bên ngoài class. Còn nếu chỉ định Access Modifier là private hoặc protected thì chúng ta sẽ không thể truy cập từ ngoài class vào hàm thành viên đó.

Ở ví dụ trên, chúng ta đã chỉ định Access Modifier của biến thành viên là private, do đó chỉ có thể truy cập vào biến thành viên từ bên trong class mà thôi.

Lại nữa, chúng ta thường sử dụng cụm ký tự _m hoặc _ đặt trước tên biến thành viên, với ý nghĩa biểu thị đây là member variable, nhằm phân biệt biến thành viên với các loại biến khác trong chương trình. Việc sử dụng cụm từ nào không phải là bắt buộc mà sẽ tuỳ thuộc vào quy định của từng team trong phát triển dự án phần mềm.

Khai báo biến thành viên trong C++ với const

Tương tự như với Hàm thành viên trong C++ thì chúng ta cũng có thể dùng từ khoá const để chỉ định một biến có thể thay đổi giá trị được hay không, hay chỉ có thể dùng để đọc mà thôi.

Và một biến thành viên ở dạng const, sẽ mất đi khả năng thay đổi giá trị của nó, và chỉ có thể dùng để đọc giá trị.

Để biến một biến thành viên thành dạng const, chúng ta chỉ cần thêm từ khóa này vào trước kiểu của biến đó khi khai báo ví dụ dưới đây:

/*Hàm thành viên không phải dạng const*/ 
int m_a1;

/*Hàm thành viên dạng const*/
const int m_a2;

Đối với một biến thành viên ở dạng const, do nó không có khả năng thay đổi giá trị, nên kể cả khi chúng ta chỉ định nó ở dạng public chăng nữa, thì cũng không thể thay đổi giá trị của nó từ bên trong lẫn bên ngoài class được. Vì lỗi sẽ xảy ra như sau:

#include<iostream>
using namespace std;

class MyClass
{
public:
const int m_a;
};
int main()
{
MyClass a;
a.m_a = 123; // do biến dạng const nên xảy ra lỗi khi cố thay đổi giá trị

return 0;
}

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về biến thành viên trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.