JavaScript is required

Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau là gì?

class CRect {

int height, width;

public:

CRect (int,int);

CRect ();

Int DT (void)

{ return (height * width); }

} ;

CRect::CRect (int a, int b) {

height = a; width = b;

}

CRect::CRect () {

height = 5;

width = 5;

}

int main() {

CRect cn1 (3,4);

CRect cn2;

cout << cn1.DT() + cn2.DT();

return 0;

}

A.

12

B.

25

C.

37

D.

21

Trả lời:

Đáp án đúng: C


Đoạn code định nghĩa một lớp `CRect` với hai thuộc tính `height` (chiều cao) và `width` (chiều rộng), cùng hai hàm tạo (constructor): một hàm tạo không tham số và một hàm tạo có hai tham số. Hàm `DT` trả về diện tích của hình chữ nhật. Trong hàm `main`, một đối tượng `cn1` của lớp `CRect` được tạo bằng cách sử dụng hàm tạo có hai tham số (3, 4), do đó `cn1.height` là 3 và `cn1.width` là 4. Một đối tượng `cn2` của lớp `CRect` được tạo bằng cách sử dụng hàm tạo không tham số, do đó `cn2.height` và `cn2.width` đều là 5. Giá trị được in ra là `cn1.DT() + cn2.DT()`. `cn1.DT()` trả về 3 * 4 = 12. `cn2.DT()` trả về 5 * 5 = 25. Vậy, 12 + 25 = 37. Do đó, kết quả của đoạn code là 37.

Câu hỏi liên quan