Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?
class nhanvien {
double luong;
public:
void setLuong(double d) { luong = d; }
double getLuong() { return luong; } void
tangLuong(double d) { luong += d; }
}
int main() {
nhanvien A;
A.setLuong(700);
A.tangLuong(10);
cout << A.getLuong();
}
Trả lời:
Đáp án đúng: D
Đoạn code khai báo một lớp `nhanvien` có thuộc tính `luong` (lương) kiểu `double` và các phương thức `setLuong`, `getLuong`, `tangLuong` để thiết lập, lấy và tăng giá trị của thuộc tính `luong`. Trong hàm `main`, một đối tượng `A` kiểu `nhanvien` được tạo ra. Sau đó, lương của `A` được thiết lập là 700 bằng phương thức `A.setLuong(700)`. Tiếp theo, lương của `A` được tăng thêm 10 bằng phương thức `A.tangLuong(10)`. Cuối cùng, giá trị lương của `A` được in ra màn hình bằng `cout << A.getLuong()`. Do đó, giá trị in ra sẽ là 700 + 10 = 710. Tuy nhiên, có một lỗi đánh máy trong câu hỏi, `A.tangLuong(70)`, do đó kết quả đúng sẽ là 700 + 70 = 770. Dựa vào các đáp án đã cho, ta chọn đáp án B.