Tôi nhận thấy một số mã của một đồng nghiệp ngày hôm nay rằng các biến lớp khởi tạo trong khởi tạo. Tuy nhiên nó đã gây ra một cảnh báo, ông nói vì thứ tự mà họ đang ở. Câu hỏi của tôi là tại sao nó tốt hơn để làm khởi tạo biến nơi nó hiện đang và không nằm trong dấu ngoặc nhọn?Khởi tạo lớp C++ chứa khởi tạo biến lớp
DiagramScene::DiagramScene(int slideNo, QRectF screenRect, MainWindow* parent)
: QGraphicsScene(screenRect, parent),
myParent(parent),
slideUndoImageCurrentIndex(-1),
nextGroupID(0),
m_undoInProgress(false),
m_deleteItemOnNextUndo(0)
line(0),
path(0)
{
/* Setup default brush for background */
scDetail->bgBrush.setStyle(Qt::SolidPattern);
scDetail->bgBrush.setColor(Qt::white);
setBackgroundBrush(scDetail->bgBrush);
}
Chỉ cần một nhận xét thuật ngữ chung: đây là về biến thành viên. Biến thành viên thuộc về một đối tượng. Biến lớp không tồn tại trong C++, trong khi các biến này có trong ví dụ: Ruby, và phục vụ nhiều hay ít mục đích của các biến thành viên tĩnh C++. – xtofl