20 CÂU HỎI
Hàm huỷ trong ngôn ngữ C++ có cú pháp:
A. ~Tên_lớp{ //nội dung}
B. Destructor Tên_hàm {//nôi dung}
C. Tên_lớp{//nội dung}
D. Done {//nội dung}
Cho đoạn chương trình sau:
class A{
private:
int x,y;
public:
A(int x=0,int y=0);
void xuat();
~A();
};
A(int x=0,int y=0); được gọi là:
A. Hàm tạo
B. Hàm huỷ
C. Hàm bạn
D. Hàm thông thường
Cho đoạn chương trình:
class A
{
private:
int x,y;
};
Làm nhiệm vụ:
A. Khai báo A là một lớp với hai thành phần thuộc tính là x, y kiểu số nguyên
B. Khai báo A là một đối tượng với hai thành phần thuộc tính x, y kiểu integer
C. Đoạn chương trình trên bị lỗi
D. Khai báo lớp A với hai thành phần thuộc tính x,y kiểu số nguyên cho phép truy cập từ bên ngoài lớp
Cho đoạn chương trình sau:
class Diem {
float x,y;
public:
…
};
class Doanthang{
Diem A,B;
public:
…
};
Lớp Doanthang được gọi là:
A. Lớp bao của lớp Diem
B. Lớp cha của lớp Diem
C. Lớp con của lớp Diem
D. Lớp bạn của lớp Diem
Lớp bao là lớp:
A. Kế thừa lớp khác
B. Dẫn xuất ra lớp khác
C. Lớp bạn của lớp khác
D. Có thành phần thuộc tính là đối tượng của lớp khác
Hàm tạo có đặc điểm gì?
A. 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
B. 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
C. Hàm tạo là hàm dùng để khởi tạo bộ nhớ cho đối tượng của lớp
D. Hàm tạo dùng để huỷ bộ nhớ cho đối tượng
Cho đoạn chương trình sau:
class Sinh_vien
{
private:
int Masv;
char Hoten[40];
char Ngaysinh;
int gioitinh;
….
};
Để khai báo một mảng gồm 10 sinh viên ta có thể sử dụng câu lệnh khai báo:
A. Sinh_vien ds[10];
B. Sinh_vien ds(10);
C. Sinh_vien *ds[10];
D. Không thể khai báo mảng các đối tượng
Trong khai báo lớp Đa thức(DT) dưới đây bằng C++:
class DT {
private:
int m;//bac cua da thuc
float *a;//Cac he so cua da thuc
public:
};
Bắt buôc phải xây dựng:
A. Hàm tạo
B. Hàm hủy
C. Hàm tạo sao chép
D. Tất cả các hàm trên
Lời gọi hàm tạo được hiểu như thế nào?
A. Gọi như hàm thành viên thông thường ( Tên đối tượng.Tên_hàm )
B. 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
C. Gọi bằng cách: Tên lớp.Tên hàm tạo()
D. Tất cả đều sai
Ta khai báo lớp cơ sở ảo khi nào:
A. 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
B. 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
C. Khi có sự trùng tên giữa các phương thức của các lớp khác nhau
D. Tất cả đều sai
Một người cần xây dựng lớp Thời gian (Timer) trong máy tính cần hiển thị thông tin như sau: giờ:phút:giây. Vậy các thuộc tính cần xây dựng cho lớp Timer là:
A. Giờ
B. Phút
C. Giây
D. Giờ, Phút, Giây
Trong kế thừa, có 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 huỷ
B. 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 huỷ
C. 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 huỷ
D. 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 huỷ
Các hàm tạo có thể có là:
A. Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép; Hàm tạo bộ nhớ
B. Hàm tạo không đối; Hàm tạo có đối; Hàm tạo sao chép
C. Hàm tạo không đối; Hàm tạo có đối
D. Hàm tạo không đối; Hàm tạo sao chép
Cho khai báo sau:
int trituyetdoi(int a); //tri tuyệt đối số nguyên
long trituyetdoi (long a); //tính trị tuyệt đối số nguyên dài
double trituyetdoi(double a); //tính trị tuyệt đối số thực dài
A. Tính chất chồng hàm
B. Tính chất nạp chồng của dữ liệu
C. Tính chất đa hình
D. Tính chất trừu tượng hóa
Lời gọi phương thức ảo là
A. Gọi như phương thức thông thường
B. Gọi kèm từ khoá virtual
C. Không thể gọi phương thức ảo
D. Phải gọi thông qua con trỏ đối tượng
Hàm hủy có mấy loại:
A. Một loại
B. Hai loại
C. Ba loại
D. Bốn loại
Trong khai báo dưới:
class Diem (1)
{(2)
private: int x,y;(3)
public: (4)
void Diem(int x,int y);(5)
void ~Diem();(6)
};(7)
Sai tại dòng:
A. Dòng 6 và 5
B. Dòng 3 và 5
C. Dòng 2 và 3
D. Dòng 3 và 6
Trong khai báo sau:
class Diem { (1)
private:
int x,y;(2)
public:(3)
…..
};(4)
class Hinhtron: public Diem (5)
{
private: r:real;(6)
};
Câu lệnh khai báo tại dòng số 5 cho biết:
A. Khai báo lớp Hinhtron kế thừa public lớp Diem
B. Khai báo lớp Diem kế thừa lớp Hinhtron
C. Khai báo lớp Hinhtron là bạn lớp Diem
D. Khai báo lớp Hinhtron là lớp bao của lớp Diem
Cho đoạn chương trình sau:
class A{
private:
int x,y;
void Nhap();
};
Cho lớp B kế thừa public lớp A, để lớp B có thể truy cập đến phương thức Nhap ta phải:
A. Không cần phải thay đổi gì
B. Đưa phương thức Nhap của lớp A vào phạm vi public hoặc protected
C. Không thể truy cập được dù có thay đổi gì
D. Tất cả đều sai
Cho đoạn chương trình sau:
class A{
private:
int x,y;
protected:
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 private 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