- Mình đang học OOP, cụ thể là Class.Xin hỏi các member một số ý sau đây, mình có nêu sẵn các ví dụ để so sánh...
Phần I:
Code:
class Point
{
int xVal,yVal;
public:
// inline function
void SetP(int x,int y)
{
xVal = x;
yVal = y;
}
void OffsetP(int x,int y)
{
xVal = xVal + x;
yVal = yVal + y;
return(xVal + yVal);
}
};
Code:
class Point
{
int xVal,yVal;
public:
void SetP(int ,int );
void OffsetP(int ,int );
};
- Ở đoạn Code thứ nhất là tôi định nghĩa hàm bên trong lớp (inline).
- Ở đoạn Code thứ hai là tôi định nghĩa bên ngoài lớp.
+ Theo tôi đọc trong Ebook thì ngta nói hàm inline thì xử lý nhanh hơn hàm định nghiã bên ngoài lớp đáng kể.Vậy các bạn có ý kiến jì về điều này?Hãy nêu ý kiến so sánh của các bạn nhé..
+ Muốn định nghĩa hàm inline bên ngoài Class thì thêm từ khóa inline vào đúng hok?
Phần II:Về truy xuất các biến private trong Class.
- các biến hay thành phần private trong Class chỉ có các hàm thành viên của nó mới có quyền truy xuất thì tôi đã hiểu.Nhưng...
- Làm sao mà tôi thử gán giá trị ban đầu cho các biến đó ko đc nhỉ..bị error!!!
Code:
class Point
{
int xVal = 1; // Error!
int yVal = 1;
public:
void SetP(int ,int );
void OffsetP(int ,int );
};
- Hồi trước tôi có hỏi làm sao ta hay sử dụng các hàm set_values() trong OOP đó.Bi jờ tôi cũng hiểu tại sao rồi.Có phải ta ko khởi gán hay đặt giá trị trước đc cho các biến private hok?
- Trong khi đó, khi thao tác gán đó trong một hàm thuộc Class đó lại ko bị lỗi.Ví dụ:
Code:
class Point
{
int xVal,yVal;
public:
// inline function
void SetP(int x,int y)
{
xVal = x;
yVal = y;
}
void OffsetP(int x,int y)
{
xVal = 100;
yVal = 100;
return(xVal + yVal);
}
};
- Tôi có dịp đọc bài viết "Lỗi về các thứ tự khai báo trong Clas rồi" của R_R nhưng mới học nên chỉ hiểu sơ thôi, có jì các member hướng dẫn với nhé...
- Đó là các thắc mắc ban đầu của tôi, mong các bạn đóng góp ý kiến nhé..Thanks.