01/10/2018, 00:05
Làm thế nào để truy cập(access) vào vào biến(var) của 1 class từ 1 class khác
Ví dụ: ta có
class SinhVien{
string ID;
string name;
int diem;
friend class QuanLy;
public:
void Nhap(SinhVien *arr, int n);
}
class QuanLy
{
void NhapSoLuongSV (int &n); // (n thuộc class SinhVien)
void InSV(SinhVien *arr, int n); // in các sv có điểm >9
}
Bài liên quan
Lâu mình không làm tới C++. Câu trả lời có thể thiếu sót
Nếu các biến của bạn là public thì có thể trỏ trực tiếp từ instance của class đó
Bạn có thể sử dụng getter để lấy các giá trị các biến private
Hoặc sử dụng friend method như trong bài viết này của mình -> Here
A cho e hỏi ~SinhVien(); có ý nghĩa gì v ạ? Nó có khác gì so với hàm Sinhvien(); ko ạ? Sao phải khai báo cả 2 ạ? Em cảm ơn
nó là hàm hủy. Nếu trong hàm tạo có cấp phát động thì phải giải phóng nó ở hàm hủy. Ở đây class SinhVien ko có cấp phát động gì hết thì khỏi cần viết hàm hủy cũng được.
Rule of three là cứ phải viết cả 3 hàm chứ
Rule of three (C++ programming)
The rule of three and rule of five are rules of thumb in C++ for the building of exception-safe code and for formalizing rules on resource management. It accomplishes this by prescribing how the default members of a class should be used to accomplish this task in a systematic manner. The rule of three (also known as the Law of The Big Three or The Big Three) is a rule of thumb in C++ (prior to C++11) that claims that if a class defines one (or more) of the following it should probably explicitl...
cứ viết cho chắc, giờ chưa dùng nhưng sau sẽ dùng lại, chả nhẽ lại lôi mã cũ ra sửa
Thực ra đường nào cũng phải lôi ra sửa à. Có điều nó tạo cho mình thói quen viết đủ.
Lúc mới code C++ Đạt cũng lười viết mấy cái này. Nhưng mà code nhiều thì sẽ thấy là đằng nào cũng cần phải viết. IDE tốt nó tạo giúp mình cái skeleton này. Không nhớ là có không, nhưng nếu có thì tốt.
Mình đã tham khảo các góp ý và thấy rằng cách dùng tính kế thừa có vẻ hợp lý nhất.
“Derived class” sẽ có tất cả các hàm của “base class” -> “Derived class” dùng được các biến của “base class” gián tiếp thông qua các hàm được kế thừa