JavaScript is required

class Diem
{
float x,y;
public:
Diem(){x=0;y=0}; //ham tao khong doi
Diem(float x,float y);//ham tao co doi
};
class HT:public Diem
{
private:
float r;
public:
HT(){r=1;};
HT(float x1,float y1, float r1){r=r1;};
};
Đoạn chương trình trên khi khai báo 1 hình tròn (HT H1;) thì hình tròn H1 này có:

A.

Tâm là (0,0) bán kinh là 1

B.

Tâm là(1,1) bán kình là 1 

C.

Không xác định được tâm vì theo tính chất kế thừa không kế thừa hàm tạo, ở lớp dẫn xuất phải gọi hàm tạo của lớp cơ sở

D.

Tất cả các phương án đều đúng

Trả lời:

Đáp án đúng: C


Khi khai báo `HT H1;`, chương trình sẽ gọi hàm tạo không tham số của lớp `HT`, đó là `HT(){r=1;};`. Hàm tạo này chỉ khởi tạo giá trị cho thuộc tính `r` (bán kính) của lớp `HT`. Tuy nhiên, lớp `HT` kế thừa từ lớp `Diem`, nên trước khi hàm tạo của `HT` được thực thi, hàm tạo không tham số của lớp `Diem` sẽ được gọi ngầm định (vì trong hàm tạo của `HT` không có lời gọi tường minh đến hàm tạo của `Diem`). Hàm tạo không tham số của lớp `Diem` là `Diem(){x=0;y=0};`, hàm này khởi tạo `x=0` và `y=0`. Như vậy, sau khi khai báo `HT H1;`, hình tròn `H1` sẽ có tâm tại (0, 0) và bán kính bằng 1.

Cùng ôn thi với bộ câu hỏi trắc nghiệm môn Lập trình hướng đối tượng có đáp án mà tracnghiem.net chia sẽ dưới đây, nhằm giúp các bạn sinh viên chuyên ngành chuẩn bị cho kì thi sắp tới.


50 câu hỏi 60 phút

Câu hỏi liên quan