20 CÂU HỎI
Cho đoạn chương trình sau:
class A {
private:
int x,y;
public:
void Nhap();
};
Lớp B kế thừa lớp A, để phương thức Nhap của lớp A trở thành thành phần public của lớp B ta chọn loại kế thừa là:
A. Private
B. Public
C. Protected
D. Private hoặc Protected
Các dạng kế thừa là:
A. Private, Public, Protected
B. Private, Public
C. Private, Protected
D. Protected, Public
Khi nạp chồng các hàm thì điều kiện khác nhau giữa các hàm sẽ là:
A. Kiểu dữ liệu trả về của hàm (1)
B. Kiểu dữ liệu của tham số truyền vào của hàm (2)
C. Số lượng tham số truyền vào các hàm (3)
D. Hoặc (1) hoặc (2) hoặc (3)
Trong một lớp có thể:
A. Nhiều hàm dựng (tạo), các hàm dựng khác nhau về tham đối
B. Một hàm dựng
C. Hai hàm dựng
D. Tất cả đều sai
Tính chất của kế thừa dạng Private là:
A. Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con
B. Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con
C. Thành phần protected, public của lớp cha tương ứng trở thành thành phần protected của lớp con
D. Tất cả đều sai
Tính chất kế thừa dạng Protected là
A. Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con
B. Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con
C. Thành phần protected, public của lớp cha tương ứng trở thành thành phần protected của lớp con
D. Tất cả đều sai
Tính chất kế thừa dạng Public là:
A. Thành phần protected của lớp cha tương ứng trở thành thành phần protected của lớp con và thành phần public của lớp cha tương ứng trở thành public của lớp con
B. Thành phần protected, public của lớp cha tương ứng trở thành thành phần public của lớp con
C. Thành phần protected, public của lớp cha tương ứng trở thành thành phần private của lớp con
D. Tất cả đều sai
Trong kế thừa có thể kế thừa tối đa:
A. Một mức
B. Hai mức
C. Ba mức
D. Vố số mức tùy theo bộ nhớ
Trong đa kế thừa có thể kế thừa tối đa:
A. Một lớp
B. Hai lớp
C. Ba lớp
D. Vố số lớp tùy theo bộ nhớ
Cho lớp A và lớp B, lớp A kế thừa lớp B trong hai lớp đều có phương thức Xuat. Nếu khai báo đối tượng obj thuộc lớp A khi gọi đến phương thức Xuat(obj.Xuat( )) là gọi đến phương thức của lớp nào?
A. Lớp A
B. Lớp B
C. Lỗi không thể xác định được
D. Gọi đến cả hai phương thức
Cho lớp A, B, C trong đó lớp C kế thừa lớp A, B. Trong lớp A, B đều có phương thức Xuat, khi khai báo đối tượng obj thuộc lớp C thì nếu gọi đến phương thức Xuat (obj.Xuat()) thì phương thức Xuat của lớp nào sẽ được gọi?
A. Lớp A
B. Lớp B
C. Lỗi không thể xác định được
D. Gọi đến cả hai phương thức
Trong kế thừa nhiều mức có cho phép:
A. Cho phép trùng tên cả phương thức lẫn thuộc tính
B. Không cho phép trùng tên phương thức và thuộc tính
C. Cho phép trùng tên phương thức còn không cho phép trùng tên thuộc tính
D. Cho phép trùng tên thuộc tính còn không cho phép trùng tên phương Cthức
Cho đoạn chương trình sau:
class A{
…
public:
void Xuat();
};
class B:public A {
….
public:
void Xuat();
};
void main() {
B O;
Nếu gọi O.Xuat(); thì sẽ.
A. Gọi đến phương thức Xuat thuộc lớp B
B. Gọi đến phương thức Xuat thuộc lớp A
C. Lỗi
D. Gọi đến cả hai phương thức
Lớp cơ sở trừu tượng là:
A. Là lớp cơ sở cho lớp khác
B. Là lớp được xây dựng đầu tiên trong chương trình
C. Là lớp làm cơ sở cho các lớp khác và không được dẫn xuất từ bất kì lớp nào
D. Là lớp không làm cơ sở cho bất kỳ lớp nào mà chỉ kế thừa các lớp khác
Thành viên tĩnh của lớp là:
A. Là thành viên của lớp được khai báo với từ khóa static ở trước
B. Là thành viên dùng chung cho tất cả các đối tượng của lớp, không của riêng đối tượng nào
C. Được cấp phát bộ nhớ ngay cả khi lớp chưa có đối tượng cụ thể nào
D. Tất cả đều đúng
Đặc điểm của Hàm bạn?
A. Là hàm của lớp được phép truy cập đến thành phần private của lớp
B. Khai báo với từ khóa vritual ở đầu
C. Được sử dụng như hàm thành viên của lớp
D. Tất cả đều đúng
Khi xây dựng nạp chồng các hàm thì điều kiện khác nhau giữa các hàm là: kiểu dữ liệu trả về của hàm hoặc kiểu dữ liệu tham số truyền vào của hàm hoặc số lượng tham số truyền vào của hàm là khác nhau. Điều kiện này chỉ áp dụng khi:
A. Các hàm cùng được xây dựng trong 1 chương trình (1)
B. Các hàm này cùng được xây dựng trong một lớp (2)
C. Các hàm này được xây dựng trong các lớp kế thừa
D. (1) hoặc (2)
Khai báo các phương thức trong lớp cơ sở trừu tượng phải:
A. Là phương thức ảo thuần túy
B. Với C++ có cú pháp : virtual void[kiểu_dữ _liệu] tên_phương_thức(tham đối)=0
C. Các phương thức không được định nghĩa nội dung
D. Tất cả đều đúng
Khai báo phương thức ảo:
A. Giống khai báo phương thức thường theo sau là từ khoá virtual
B. Giống khai báo phương thức thường nhưng đứng đầu là từ khoá virtual
C. Giống khai báo phương thức thường nhưng phải được xây dựng bên trong lớp
D. Giống khai báo phương thức thường nhưng không cần phải xây dựng nội dung
Cho biết cách khai báo phương thức ảo trong C++ nào sau đây là đúng:
A. Void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]) Virual
B. Virual void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối])
C. Void[kiểu_dữ_liệu] Virual Tên_phương_thức ([các tham đối])
D. Void[kiểu_dữ_liệu] Tên_phương_thức (Virual [các tham đối])