Font size
WorksheetsĐề cương ôn tập OOP-phần 2
Total questions: 109
Worksheet time: 55mins
Phương pháp lập trình cấu trúc là:
Phương pháp lập trình với cách liệt kê các lệnh kế tiếp
Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh này
Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module
Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa chúng .
Phương trình lập trình module là
Phương pháp lập trình với với cách liệt kê các lệnh kế tiếp
Phương pháp lập trình với việc cấu trúc hóa dữ liệu và cấu trúc hóa chương trình để tránh các lệnh nhảy
Phương pháp lập trình được cấu trúc nghiêm ngặt với cấu trúc dạng module
Phương pháp xây dựng chương trình ứng dụng theo quan điểm dựa trên các cấu trúc dữ liệu trừu tượng, các thể hiện cụ thể của cấu trúc và quan hệ giữa công chúng
Hãy cho biết quan hệ giữa lớp Điểm(2 chiều) và lớp Hình tròn là quan hệ gì?
Lớp Hình tròn dẫn xuất ra lớp Điểm.
Lớp Điểm dẫn xuất ra lớp Hình tròn.
Không có quan hệ gì
Lớp hình tròn dẫn xuất ra lớp Điểm
Hàm tạo trong C++?
Có tên trùng với tên p
Có đối hoặc không có đối
Tự động được gọi tới khi khai báo đối tượng của lớp
Xây dựng bên trong hoặc bên ngoài lớp
Tất cả đều đúng
Hàm huỷ trong C++ có cú pháp:
~Tên_lớp{//nội dung}.
Destructor Tên_hàm {//nôi dung}”
Tên_lớp{//nội dung}”
Done {//nội dung}”
Cho đoạn chương trình sau
Hàm tạo
Hàm huỷ
Hàm bạn.
Hàm thông thường
Cho đoạn chương trình sau
Hàm tạo
Hàm huỷ
Hàm bạn.
Hàm thông thường.
Tất cả đều sai.
Cho đoạn chương trình sau
Toán tử (xuất) bạn của lớp A
Hàm bạn của lớp A
Hàm thành viên của lớp A.
Không có phương án đúng.
Cho khai báo sau x,y được gọi là:
Thuộc tính của lớp Diem
Phương thức của lớp Diem.
Các hàm thành viên của lớp Diem
Thành viên tĩnh của lớp Diem.
Cho khai báo sau Nhap, Xuat được gọi là:
Phương thức của lớp Diem
Thuộc tính của lớp Diem
Các hàm bạn của lớp Diem
Tất cả đều đúng
Cho đoạn chương trình sau:
Lớp bao của lớp Diem
Lớp cha của lớp Diem
Lớp con của lớp Diem
Lớp bạn của lớp Diem
Lớp bao là lớp:
Có thành phần thuộc tính là đối tượng của lớp khác.
Kế thừa lớp khác.
Dẫn xuất ra lớp khác.
Lớp bạn của lớp khác.
Hàm tạo là:
Hàm tạo là hàm thành viên của lớp dùng để khởi tạo bộ nhớ và giá trị ban đầu cho các thuộc tính trong lớp.
Hàm tạo là hàm nằm bên ngoài lớp dùng để khởi tạo bộ nhớ cho đối tượng.
Hàm tạo là hàm dùng để khởi tạo bộ nhớ cho đối tượng của lớp.
Hàm tạo dùng để hủy bộ nhớ cho đối tượng.
Hàm hủy là gì?
Hàm hủy dùng để hủy (giải phóng) bộ nhớ cho các thành phần thuộc tính bên trong lớp.
Hàm hủy là hàm dùng để khởi tạo giá trị ban đầu cho các thành phần thuộc tính bên trong lớp.
Hàm hủy là hàm dùng để giải phóng toàn bộ các biến của chương trình.
Tất cả đều đúng.
Hàm tạo sao chép là:
Tất cả đều đúng.
Là hàm thành viên của lớp.
Dùng để tạo một đối tượng theo đối tượng đã có.
Nếu không xây dựng hàm tạo sao chép chương trình sẽ tự sinh hàm tạo sao chép.
Khi xây dựng lớp số nguyên(SN), để khai báo toán tử tăng sau ta sử dụng câu lệnh khai báo nào trong các câu lệnh sau
SN operator++(int);
SN operator++();
SN operator()++;
SN operator(int)++;
Trong khai báo lớp Đa thức(DT) dưới đây:
Hàm tạo.
Hàm hủy.
Hàm tạo sao chép
Tất cả các hàm trên
Lời gọi hàm tạo trong C++.
Gọi như hàm thành viên thông thường ( Tên đối tượng.Tên_hàm ) .
Không cần phải gọi tới hàm tạo vì ngay khi khai báo đối tượng sẽ tự gọi tới hàm tạo.
Gọi bằng cách: Tên lớp.Tên hàm tạo().
Tất cả đều sai.
Ta khai báo lớp cơ sở ảo khi nào?
Khi có sự trùng lặp lớp kế thừa trong đa kế thừa và kế thừa nhiều mức.
Khi lớp có phương thức ảo thì bắt buộc phải khai báo là lớp cơ sở ảo.
Khi có sự trùng tên giữa các phương thức của các lớp khác nhau.
Tất cả đều sai.
Cách khai báo lớp cơ sở ảo
virtual class Tên_lớp {/nội dung; }
class Tên_lớp_dẫn_xuất : virtual [public][private][protected] tên_lớp_cơ_sở
class Tên_lớp_dẫn_xuất :[public][private][protected] virtual tên_lớp_cơ_sở
Tất cả đều sai.
Trong kế thừa.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public và không kế thừa hàm tạo, hàm hủy.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public bao gồm hàm tạo, hàm hủy.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public, private bao gồm hàm tạo, hàm hủy.
Kế thừa tất cả các phương thức thuộc tính khai báo trong phần protected, public không kế thừa hàm tạo, hàm hủy.
Có mấy loại hàm tạo(hàm dựng)?
Hai loại.
Ba loại.
Một loại.
Bốn loại.
Sự tương ứng bội là gì?
Khả năng mỗi đối tượng của lớp cha có thể chứa được địa chỉ đối tượng lớp con.
Khả năng một lớp con có thể kế thừa nhiều lớp cha cùng lúc.
Khả năng một phương thức có thể có nhiều tên khác nhau.
Khả năng một đối tượng có thể tự động giải phóng bộ nhớ.
Lời gọi phương thức ảo?
Gọi như phương thức thông thường.
Gọi kèm từ khoá virtual
Không thể gọi phương thức ảo.
Phải gọi thông qua con trỏ đối tượng.
Có mấy loại hàm huỷ?
Một loại.
Hai loại.
Ba loại.
Bốn loại.
Hãy chọn phát biểu sai:
Có hai loại hàm huỷ: có đối và không đối.
Có duy nhất một loại hàm huỷ.
Có hai loại hàm dựng: có đối và không đối.
Hàm huỷ và hàm dựng đều không có tính chất kế thừa.
Trong khai báo dưới đây sai ở dòng nào?
Dòng 6 và 5
Dòng 3 và 5
Dòng 2 và 3
Dòng 3 và 6
Hãy cho biết ý nghĩa dòng số 5 trong khai báo sau:
Khai báo lớp Hinhtron kế thừa public lớp Diem.
Khai báo lớp Diem kế thừa lớp Hinhtron.
Khai báo lớp Hinhtron là bạn lớp Diem.
Khai báo lớp Hinhtron là lớp bao của lớp Diem.
Cho đoạn chương trình sau:
Không thể truy cập được vì thành phần private là không thể kế thừa.
Chọn loại kế thừa private.
Chọn loại kế thừa protected.
Chọn loại kế thừa public.
Cho đoạn chương trình sau:
Để phương thức Nhap của lớp A thuộc thành phần public hoặc protected.
Không cần phải thay đổi gì.
Không thể truy cập được dù có thay đổi gì.
Tất cả đều sai.
Cho đoạn chương trình sau:
Private.
Public.
Protected.
Private hoặc Protected.
Cho đoạn chương trình sau:
Private.
Public.
Protected.
Private hoặc Protected.
Có mấy loại kế thừa?
3
4
5
Vô
Có những loại kế thừa nào?
Private, Public, Protected.
Private, Public.
Object, Private.
Class, Base, Object.
Trong một lớp có thể có bao nhiêu hàm dựng?
Nhiều hàm dựng, các hàm dựng khác nhau về tham đối.
Một hàm dựng.
Hai hàm dựng.
Tất cả đều sai.
Trong một lớp có thể có bao nhiêu hàm huỷ?
Một.
Hai.
Ba.
Vô số.
Tính chất của kế thừa dạng Private là:
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.
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.
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.
Tất cả đều sai.
Tính chất kế thừa dạng Protected là:
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.
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.
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.
Tất cả đều sai.
Tính chất kế thừa dạng Public là:
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.
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.
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.
Tất cả đều sai.
Trong kế thừa có thể kế thừa tối đa bao nhiêu mức?
Vô số mức
Một mức.
Hai mức.
Ba
Trong đa kế thừa có thể kế thừa tối đa bao nhiêu lớp?
Vô số lớp.
Hai lớp.
Một lớp.
Ba lớp.
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?
Lớp A.
Lớp B.
Lỗi không thể xác định được.
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?
Lớp A.
Lớp B.
Lỗi không thể xác định được.
Gọi đến cả hai phương thức.
Trong kế thừa nhiều mức có cho phép sự trùng tên giữa các phương thức và thuộc tính không?
Cho phép trùng tên cả phương thức lẫn thuộc tính.
Không cho phép trùng tên phương thức và thuộc tính.
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.
Cho phép trùng tên thuộc tính còn không cho phép trùng tên phương thức.
Cho đoạn chương trình sau:
Gọi đến phương thức Xuat thuộc lớp B.
Lỗi.
Gọi đến phương thức Xuat thuộc lớp A.
Gọi đến cả hai phương thức.
Lớp cơ sở trừu tượng là gì?
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.
Là lớp cơ sở cho lớp khác.
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
Là lớp được xây dựng đầu tiên trong chương trình
Thành viên tĩnh của lớp là gì?
Là thành viên của lớp được khai báo với từ khóa static ở trước.
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ấp phát bộ nhớ ngay cả khi lớp chưa có đối tượng cụ thể nào.
Tất cả đều đúng.
Hàm bạn là:
Là hàm bạn của lớp được phép truy cập đến thành phần private của lớp.
Khai báo với từ khóa virtual ở đầu.
Được sử dụng như hàm thành viên của lớp.
Tất cả đều đúng.
Câu lệnh khai báo toán tử thành viên của lớp:
Kiểu_dữ_liệu[void] operator Toán_tử (Tham đối).
Friend Kiểu_dữ_liệu[void] operator Toán_tử (Tham đối).
Kiểu_dữ_liệu operator Toán_tử (Tham đối).
void operator Toán_tử (Tham đối).
Cách khai báo các phương thức trong lớp cơ sở trừu tượng:
Các phương thức phải là các phương thức ảo thuần túy
: Cú pháp : virtual void[kiểu_dữ liệu] tênphương_thức(tham đối)=0;
Các phương thức không được định nghĩa nội dung.
Tất cả đều đúng
Khai báo phương thức ảo:
Giống khai báo phương thức thường theo sau là từ khoá virtual;
Giống khai báo phương thức thường nhưng đứng đầu là từ khoá virtual;
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.
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 nào sau đây là đúng:
void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]) Virual;
Virual void[kiểu_dữ_liệu] Tên_phương_thức ([các tham đối]) Virual;
void[kiểu_dữ_liệu] Virual Tên_phương_thức ([các tham đối]);
void[kiểu_dữ_liệu] Tên_phương_thức (Virual [các tham đối]);
Cho đoạn chương trình sau:
Xuat là phương thức ảo.
Lỗi tại dòng void Xuat(); virtual;
Xuat là một hàm tạo.
Xuat là một hàm huỷ.
Một lớp có thể có tối đa bao nhiêu phương thức ảo?
Vô số.
Một
Hai
Cho đoạn chương trình sau:
Tại câu lệnh B1=A1;
Tại câu lệnh A1=B1;
Tại câu lệnh class B:public A.
Không lỗi tại dòng nào cả?
Chọn phát biểu đúng: "Lập trình hướng đối tượng:"
Tất cả đều đúng.
Nhấn mạnh trên dữ liệu hơn là thủ tục.
Các chương trình được chia thành các đối tượng.
Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài.
Dữ liệu hay các hàm mới có thể được thêm vào khi cần.
Cho biết các ví dụ sau ví dụ nào chứng tỏ tính kế thừa:
Tất cả đều đúng.
Xe đạp và Xe đạp đua.
Cha và con.
Điểm và Hình tròn.
Lớp bạn của một lớp?
Là lớp có thể truy cập đến thành phần private, protected và public của lớp mà nó làm bạn.
Là lớp có thể truy cập đến thành phần protected và public của lớp mà nó làm bạn.
Là lớp có thể truy cập đến thành phần public của lớp mà nó làm bạn.
Tất cả đều sai.
Cho đoạn chương trình sau:
Khai báo lớp B là bạn lớp A.
Khai báo lớp A là bạn lớp B
Khai báo lớp B là bạn lớp A và ngược lại.
Tất cả đều sai.
Đặc tính khi dùng template là:
Tiết kiệm được mã, tăng tính linh động của chương trình, tăng khả năng sử dụng lại.
Thay thế class khi xây dựng các class trùng tên trong một chương trình.
Tăng hiệu của class, nâng cao tính bảo mật của thành phần private.
Tất cả đều sai.
Trong kế thừa cho phép:
Con trỏ của lớp dẫn xuất chứa địa chỉ lớp cơ sở.
Con trỏ lớp cơ sở chứa địa chỉ lớp dẫn xuất.
Con trỏ lớp cơ sở chứa địa chỉ lớp dẫn xuất và ngược lại.
Đối tượng của lớp cơ sở truy cập đến các thành phần public của lớp dẫn xuất.
Cho đoạn chương trình sau:
A *p,a;
B*q,b;
p=&b;
q=&a;
Cho lớp tam giác tạo bởi ba điểm A, B, C. Hãy cho biết quan hệ giữa lớp tam giác và lớp điểm là:
Tam giác là lớp bao của lớp điểm.
Tam giác là lớp con của lớp điểm.
Tam giác là lớp cha của lớp điểm.
Tam giác là lớp bạn của lớp điểm.
Cho lớp đường thẳng tạo bởi 2 điểm A, B. Hãy cho biết quan hệ giữa lớp đường thẳng và lớp điểm:
Đường thẳng là lớp bao của lớp điểm.
Đường thẳng là lớp con của lớp điểm.
Đường thẳng là lớp cha của lớp điểm.
Đường thẳng là lớp bạn của lớp điểm.
Xây dựng lớp đường thẳng y=ax+b hãy cho biết thuộc tính của lớp đường thẳng này là:
Các hệ số a, b.
Các hệ số x, y.
Các hệ số a, b, x, y.
Các hệ số a, x, b.
Xây dựng lớp hình chữ nhật tạo bởi hai cạnh a, b. Để khai báo hàm tạo với tham số mặc định ta khai báo:
Hinhchunhat(float a=1, float b=1);
Hinhchunhat(float a, float b);
Hinhchunhat();
Hinhchunhat(const Hinhchunhat &H);
Xây dựng lớp hình chữ nhật tạo bởi hai cạnh a, b. Để khai báo hàm tạo sao chép ta khai báo như thế nào:
Hinhchunhat(const Hinhchunhat &H);
Hinhchunhat(float a, float b);
Hinhchunhat();
Hinhchunhat(Hinhchunhat H);
Khi xây dựng toán tử nhập xuất cho đối tượng ta phải xây dựng:
Là hàm bạn của lớp.
Là hàm thành viên của lớp.
Là hàm thông thường.
Không thể xây dựng được.
Cần xây dựng lớp Điểm trong hệ tọa độ xOy, để nhập điểm dùng toán tử cin ta phải xây dựng:
Toán tử bạn >>.
Toán tử bạn <<.
Toán tử thành viên >>.
Toán tử thành viên <<.
Cần xây dựng lớp Điểm trong hệ tọa độ xOy, để nhập điểm dùng toán tử cout ta phải xây dựng:
Toán tử bạn >>.
Toán tử bạn <<.
Toán tử thành viên >>.
Toán tử thành viên <<.
Đoạn khai báo lớp trên sai ở dòng nào?
8 và 9
10 và 11
6 và 7
4
Đoạn khai báo lớp trên khi biên dịch thấy sai ở dòng 8 và 9, phải sửa là:
Thêm từ khóa friend vào đầu khai báo hai toán tử đó.
Thêm từ khóa virtual vào đầu khai báo hai toán tử đó.
Thêm từ khóa void vào đầu khai báo hai toán tử đó.
Thêm từ khóa Tag vào đầu khai báo hai toán tử đó.
Khi đưa các lớp thực tế vào quản lý trong máy tính ta nhận thấy mỗi đối tượng thực tế có số thuộc tính nhưng với mỗi bài toán cụ thể ta chỉ xác định các lớp chỉ gồm một số thuộc tính nhất định. Cách thức đó gọi là:
Sự trừu tượng hóa dữ liệu.
Sự trừu tượng hóa chức năng.
Tính đa hình.
Tính kế thừa.
Trong lớp có thành phần thuộc tính là kiểu con trỏ hay tham chiếu thì bắt buộc phải:
Xây dựng hàm hủy
Xây dựng phương thức nhập
Xây dựng phương thức xuất
Không bắt buộc phải xây dựng gì hết.
Khi khai báo thành phần thuộc tính và phương thức của lớp, nếu không khai báo từ khóa private, public hay protected thì mặc định sẽ là:
private
public
Xây dựng lớp điểm trong hệ tọa độ Oxyz các thuộc tính của lớp là:
Tung độ, hoành độ, cao độ
Tung độ, hoành độ, cao độ, dịch chuyển
Dịch chuyển
Không có phương án nào đúng.
Hãy cho biết thành phần thuộc tính của lớp đa thức xây dựng bằng mảng:
Bậc, mảng hệ số
Bậc, hệ số
Mảng bậc, mảng hệ số
Mảng bậc, hệ số.
CÂU 81: Đoạn khai báo thuộc tính của lớp đa thức là:
class Dathuc "{ private: int bac; float *hs; }"
class Dathuc "{ public: int bac; float hs; }"
class Dathuc "{ private: float bac; int *hs; }"
class Dathuc "{ protected: int bac; float hs; }"
Cú pháp xây dựng toán tử cộng của lớp Dathuc là
Dathuc operator+(Dathuc D);
void operator+(Dathuc D);
Dathuc operator+(Dathuc D1,Dathuc D2);
friend Dathuc operator+(Dathuc D);
CÂU 83: Cho lớp Dathuc, để thực hiện khai báo sau mà không lỗi:
Hàm tạo không đối và hàm tạo sao chép;
Hàm tạo không đối và hàm tạo có đối.
Hàm tạo có đối số mặc định
Hàm tạo có đối
Xây dựng hàm tạo sao chép của lớp Diem khai báo theo cú pháp sau
Diem(const Diem &D);
Diem (Diem D);
Diem (float x, float y);
Die (Diem D1, Dime D2);
Để tính khoảng cách hai điểm trong lớp điểm ta xây dựng phương thức tính khoảng cách hai điểm theo cú pháp sau: float KC2D(Diem D); Lời gọi đến phương thức để tính khoảng cách hai điểm là:
cout<<D1.KC2D(D2);
cout<<KC2D(D1,D2);”
KC2D(D1,D2).in()”
Không có phương án đúng”
Trong kế thừa, lớp dẫn xuất có thể kế thừa các phương thức và thuộc tính của l lớp cơ sở nhưng không:
Kế thừa hàm tao, toán tử gán
Kế thừa hàm hủy, toán tử gán
: Kế thừa toán tử
Tất cả các phương án trên
Lớp HT(hình tròn) kế thừa lớp Điểm nhưng không kế thừa hàm tạo vì vậy khi xây dựng hàm tạo lớp HT ta phải gọi tới hàm tạo lớp Điểm. Câu lệnh khai báo hàm tạo không đối của lớp HT và gọi hàm tạo lớp Điểm là:
HT():Diem() { r=0; }”
HT(){r=0; Diem(x,y);}”
HT:Diem(x,y){r=0;}”
HT():Diem(){}”
Trong lớp phân số khai báo: Phanso(int ts=0,int ms=1); Là :
Hàm tạo có tham số mặc định của lơp Phanso
Hàm tạo sao chép của lớp Phanso.
Phương thức gán của lớp Phanso
Khai báo trên không thể tồn tại trong lớp Phanso
Hãy cho biết trong các ví dụ sau ví dụ nào thể hiện sự kế thừa :
Lớp Giáo Viên và lớp Người
Lớp Điểm và Hình tròn
Lớp Xe ô tô và lớp Xe
Tất cả phương án đều đúng
Cho lớp B, C kế thừa lớp A; Lớp D kế thừa lớp B và C. Khi đó đối tượng của lớp D không thể kế thừa được thành phần của A. Cần phải :
Khai báo A là lớp cơ sở ảo đối với B và C
Khai báo lại A là lớp cơ sở ảo với D
Khai báo A là lớp cơ sở ảo đối với B
Hiển nhiên lớp D không thể kế thừa lớp A vì kế thừa không có tính bắc cầu
Lời gọi của phương thức xuất phát từ con trỏ là :
Không giống với lời gọi phương thức xuất phát từ đối tượng
Giống với lời gọi phương thức xuất phát từ đối tượng.
Giống với lời gọi phương thức xuất phát từ đối tượng đối với phương thức ảo
Tất cả các phương án đều sai.
Khi xây dựng lớp đối tượng công việc cần làm là:
Xác định thành phần thuộc tính và phương thức của lớp đó.
Xác định thành phần private, public, protected là gì.
Xác định kiểu dữ liệu của thuộc tính, kiểu trả về của phương thức
Tất cả các phương án đều đúng
Khi khai báo lớp A là bạn của lớp B thì:
Chưa chắc lớp B đã là bạn của lớp A
Chắc chắn lớp B là bạn của lớp A
Lớp A sẽ kế thừa mọi thành phần của lớp B
Tất cả các phương án đếu sai
Cho khai báo sau:
Lớp B là bạn của lớp A và có thể truy cập đến thành phẫn x của lớp A.
Lớp A là bạn của B và lớp B có thể truy cập đến thành phần x của lớp A.
Lớp A là bạn của B và lớp A có thể truy cập đến thành phần private của lớp B.
Tất cả các phương án đếu đúng.
Một lớp có thể:
Là lớp cơ sở của vô số lớp
Là lớp bạn của vô số lớp.
Là lớp dẫn xuất của vô số lớp
Tất cả các phương án đếu đúng
Chồng hàm là:
Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào
Khả năng các hàm có thể trùng tên nhau, trùn cả về: kiểu dữ liệu trả về, kiểu dữ liệu của tham số, số lượng tham số truyền vào
Khả năng các hàm có thể trùng tên nhau nhưng khác nhau về: kiểu dữ liệu trả về hoặc kiểu dữ liệu của tham số hoặc số lượng tham số truyền vào. Chỉ có thể chồng hàm thành viên của lớp
Tất cả các phương án đều đúng.
Xây dựng lớp Hinh_hoc là lớp cơ sở cho các lớp Hinh_vuong, Hinh_tron, Hinh_cn, Hinh_tamgiac. Nhận thấy các lớp này đểu có phương phương thức tính D_Tich(diện tích). Tuy nhiên kết quả của của các phương thức D_Tich ứng với các đối tượng của các lớp dẫn xuất là khác nhau. Điều này thể hiện tính:
Đa hình
Ảo của phương thức
Trừu tượng
Đóng gói
Trong kế thừa cho phép:
Con trỏ của lớp cha chứa địa chỉ của lớp con
Con trỏ của lớp con chứa địa chỉ của lớp cha.
Con trỏ của lớp cha chứa địa chỉ của lớp con và ngược lại
Lớp con kế thừa mọi thành phần của lớp cha.
Cách khai báo kế thừa trong ngôn ngữ C++ là:
class Tên_lớp_dẫn_xuất:private|public|protected Tên_lớp_cơ_sở {//nội dung lớp dẫn xuất};
class Tên_lớp_dẫn_xuất: Tên_lớp_cơ_sở {//nội dung lớp dẫn xuất};
class Tên_lớp_dẫn_xuất:private|public|protected Tên_lớp_cơ_sở {//nội dung lớp cơ sở};”
class Tên_lớp_cơ sở:private|public|protected Tên_lớp_dẫn_xuất {//nội dung lớp cơ sở};.
Cho đoạn chương trình sau:
P3=P1+P2;
P3=P1.cong(P2);
P3=cong(P1,P2);
Tất cả phương án đều đúng
Bắt buộc phải xây dựng hàm tạo và hàm hủy của lớp khi:
Lớp có thành viên là kiểu con trỏ hay tham chiếu
Lớp có thành viên là kiểu số thực.
Lớp có thành viên là kiểu kí tự
Không bắt buộc phải xây dựng hàm tạo và hàm hủy
Cho đoạn chương trình sau:
Gọi tới hàm tạo không đối mà chương trình lại không xây dựng
Chương trình trên không thể lỗi được vì chương trình C++ sẽ tự phát sinh hàm tạo không đối.
Không xác định được gọi tới hàm tạo nào
Tất cả đều sai
Mối quan hệ giữa lớp Người và lớp Sinh viên là:
Lớp Người là lớp cơ sỏ cho lớp Sinh Viên
Lớp Người là lớp dẫn xuất của lớp Sinh Viên
Lớp Người là lớp bao của lớp Sinh Viên
Lớp Nguời là lớp đối tượng thành phần của lớp Sinh Viên
Mối quan hệ giữa lớp Môn Học và lớp Sinh viên là:
Lớp Môn Học là lớp cơ sở cho lớp Sinh Viên
Lớp Môn Học là lớp dẫn xuất của lớp Sinh Viên
Lớp Môn Học là lớp bao của lớp Sinh Viên
Lớp Môn Học là lớp đối tượng thành phần của lớp Sinh Viên.
Cách khai báo lớp cơ sở ảo là:
Tên_lớp_dẫn_xuất:virtual private|protected|public Tên_lớp_cơ_sở {//nội dung lớp cơ sở};
Tên_lớp_dẫn_xuất: private|protected|public virtual Tên_lớp_cơ_sở {//nội dung lớp cơ sở};
Tên_lớp_dẫn_xuất:virtual Tên_lớp_cơ_sở {//nội dung lớp cơ sở};
virtual Tên_lớp_dẫn_xuất: private|protected|public Tên_lớp_cơ_sở {//nội dung lớp cơ sở};.
Cho đoạn chương trình:
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ở.
Tâm là (0,0) bán kinh là 1
Tâm là(1,1) bán kình là 1
Tất cả các phương án đều đúng
Cho đoạn chương trình:
HT():Diem(){r=1;};
HT(){x=0,y=0;r=1;};
HT(){Diem();r=1;};
Tất cả các phương án đều đúng
Để đưa đối tượng trong thực tể vào máy tính ta cần chú trọng đến tính:
Trừu tượng dữ liệu và trừu tượng chức năng
Đa hình của nó
Kế thừa
Báo gói
Một lớp có thể có bao nhiêu lớp cơ sở ảo:
Vô số
Chỉ có thể có 1
Tối đa ba lớp
Không thể xác định tùy thuộc vào từng loại lớp khác nhau
Cấu trúc chung của khai báo template là:
: template < [typelist] [, [ arglist ]] > declaration.
template < Class tên_template > Thành_viên
template < [typelist] > declaration
Không có phương án đúng
Cho lớp Time như sau:
void addHour(int h){ //Nội dung}
void addHour(int h);{//Nội dung}
void time:addHour(int h){//Nội dung}
void time::addHour(int h){//Nội dung}
Cho lớp Điểm như sau:
Hàm bạn của lớp Điểm
Phương thức của lớp
Hàm thông thường
Toán tử bạn của lớp Điểm
