225 câu trắc nghiệm Lập trình hướng đối tượng có đáp án - Phần 1
20 câu hỏi
class A
{
int a,b;
public:
float F1,F2;
};
class B:public A
{
}
Hỏi: B sử dụng được các biến thành viên nào của A
a, b, F1, F2
F1, F2
a, b
Không sử dụng được biến thành viên nào
Chọn đáp án B
class A
{
protected;
int a,b;
public:
float F1,F2;
};
class B:public A
{
}
Hỏi: B sử dụng được các biến thành viên nào của A
a, b, F1, F2
F1, F2
a, b
Không sử dụng được biến thành viên nào
Chọn đáp án A
class A
{
int a,b;
float F1,F2;
};
class B:public A
{
}
Hỏi: B sử dụng được các biến thành viên nào của A
a, b, F1, F2
a, b
F1, F2
Chọn đáp án A
class A
{
char x,y
protected:
int a,b;
public:
float F1,F2;
};
class B:public A
{
}"
Hỏi: B sử dụng được các biến thành viên nào của A
a, b, F1, F2
F1, F2, x, y
x, y, a, b
F1, F2
Chọn đáp án A
Hàm có trùng tên với tên lớp, được gọi ngay sau khi khai báo đối tượng, không kế thừa
Hàm có trùng tên với tên lớp, được gọi ngay sau khi khai báo đối tượng, có kế thừa
Hàm có trùng tên với tên lớp, được gọi ngay sau khi khai báo đối tượng hoặc con trỏ đối tượng, có kế thừa
Hàm có trùng tên với tên lớp, được gọi ngay sau khi khai báo đối tượng hoặc con trỏ đối tượng, không kế thừa
Chọn đáp án C
Hiện tượng lớp con kế thừa định nghĩa một hàm hoàn toàn giống lớp cha
Hiện tượng lớp con kế thừa định nghĩa một hàm cùng tên nhưng khác kiểu với một hàm ở lớp cha
Hiện tượng lớp con kế thừa định nghĩa một hàm cùng tên, cùng kiểu với một hàm ở lớp cha nhưng khác đối số
Hiện tượng lớp con kế thừa định nghĩa một hàm cùng tên, cùng các đối số nhưng khác kiểu với một hàm ở lớp cha
Chọn đáp án A
float *M; int n;cout<<”\n\t Nhập số phần tử mảng “;cin>>n; A M = new float [n];
int n; cout<<”\n\t Nhap số phần tử mảng: “;cin>>n; float M[n];
intn; floatM[n];
float M[int n];
Chọn đáp án A
1. class Lopl
2. {
3. private:
4. int a,b;
5. friend voidNhapQ;
6. };
7. class Lop2
8. {
9. private:
10. float x,y;
11. friend void Nhap( );
12. };
13. void nhap()
14. {
15. Lopl objl; Lop2 obj2;
16. cout«"\n\t Nhap a -'; cin»a;
17. cout«"\n\t Nhap x ="; cin»x;
18. }
Lỗi tại dòng 16, 17
Không lỗi ở dòng nào
Lỗi tại dòng 15
Lỗi tại dòng 13
Chọn đáp án A
1. class Lopl
2. {
3. private:
4. int a,b;
5. friend voidNhap();
6. };
7. class Lop2
8. {
9. private:
10. float x,y;
11. friend void Nhap( );
12. };
13. void nhap()
14. {
15. Lop 1 obj 1; Lop2 obj 2;
16. cout«"\n\t Nhap a ="; cin»objl.a;
17. cout«"\n\t Nhap x cin»obj2.x;
18. }
Không lỗi ở dòng nào
Lỗi tại dòng 15
Lỗi tại dòng 13
Lỗi tại dòng 16, 17
Chọn đáp án A
class Lopl
{
private:
int a,b;
public:
float x,y;
friend class Lop2;
};
class Lop2
{
Lopl objA;
};
class Lop3
{
Lopl objB;
,};
Các Đối tượng objA và objB truy cập được các biến nào của lớp Lop1:
objA truy cập được tất cả các biến. objB truy cập được các biến x, y
objA và objB truy cập được tất cả các biến
objA và objB chỉ truy cập dược các biến x,y
objA truy cập được tất cả các biến. objB truy cập
Chọn đáp án A
class Lopl
{
public:
int a,b;
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cin»b;
}
};
class Lop2: public Lopl
{
public:
Lopl *p;
};
Khi khai báo đối tượng objLop2 cho Lop2 thì nó có truy xuất thủ tục nhập của lớp 1 bằng cú pháp nào sau:
objLop2.nhap()
objLop2->nhap()
objLop2.p ->nhap( ) objLop2.nhap()
Tất cả đều sai
Chọn đáp án C
class Lopl
{
public:
int a,b;
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cin»b;
}
};
class Lop2: public Lopl
{
public:
Lopl p;
};
Khi khai báo Đối tượng objLop2 cho Lop2 thì nó có thể truy xuất thủ tục nhập của lớp 1 bằng cú pháp nào sau đây là đúng nhất?
objLop2.nhap{) objLop2.p.nhap()
objLop2.nhap()
objLop2.p ^nhap()
Tất cả đều sai
Chọn đáp án A
class Lopl
{
public:
int a,b;
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cin»b;
}
};
class Lop2: public Lopl
{
};
Khi khai báo Đối tượng objLop2 cho Lop2 thì nó có thể truy xuất thủ tục nhập của lớp 1 bằng cú pháp nào sau đây là đúng nhất?
objLop2.nhap()
objLop2^nhap()
objLop2.p ^nhap() objLop2.nhap()
Tất cả đều sai
Chọn đáp án A
class LopA
{
public:
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cm»b;
}
};
Sau khi tạo con trỏ ở lớp *pobj của LopA thì dùng cú pháp nào sau đây để truy xuất thủ tục nhập ()
pobj—>nhap();
*pobj. nhap();
pobj.nhap();
*pobj. nhap();
Chọn đáp án A
class LopA
{
public:
int a,b;
void nhap()
{
cout«"\n\t a = ";cin»a;
cout«"\n\t b =";cin»b;
}
Nếu một đối tượng objLopA được tạo ra thì việc gán giá trị 10 vào biến a,b được thực hiện bằng cách nào?
objLopA.a = objLopA.b = 10;
a= 10 b= 10
a = b = 10
objLopA.a.b-10;
Chọn đáp án A
Khai báo các thành viên của lớp chỉ được thừa kế
Khai báo các thành viên được bảo vệ
Khai báo các thành viên của lớp được dùng riêng
Khai báo các thành viên của lớp sẽ được dùng chung và thừa kế
Chọn đáp án A
class Lop
{
private :
int a,b;
public:
lop () // Ham dung 1
{
a = b = 5;
f
lop (int m, int n) // Ham dung 2
{
a ^ m; b ^n;
}
};
Khi tạo một đối tượng bằng cú pháp LopobjLop(4,5) thì hàm dựng nào sẽ đúng?
Hàm dựng 2
Hàm dựng 1
Cả 2 hàm dựng đều Được gọi
Không hàm dựng nào được gọi
Chọn đáp án A
class Lop
{
private :
int a,b;
public:
lop () // Ham dung 1
{
a ^ b ^ 5;
}
lop (int m, int n) // Ham dung 2
{
a = m; b = n;
}
};
Khi tạo một đối tượng bằng cú pháp Lop obj Lop; Thì hàm dựng nào sẽ được gọi
Hàm dựng 1
Hàm dựng 2
Cả 2 hàm dựng đều được gọi
Không hàm dựng nào được gọi
Chọn đáp án A
class Lop
{
private :
int a,b;
public:
lop () // Ham dung 1
{
a = b = 5;
}
lop (int m, int n) // Ham dung 2
{
a ^ m; b =n;
}
};
Khi tạo một đối tượng con trỏ bằng lệnh sau:
Lop *objLop;
objLop = new Lop;
Hàm dựng 1
Hàm dựng 2
Cả 2 hàm dựng đều được gọi
Không hàm dựng nào được gọi
Chọn đáp án A
class Lop
private :
int a,b;
public:
lop ( ) // Ham dung 1
{
a = b = 5;
}
lop (int m, int n) // Ham dung 2
{
a = m; b = n;
}
};
Khi tạo một đối tượng con trỏ bằng lệnh sau:
Lop ^objLop;
objLop = new Lop(3,4);
Thì hàm dựng nào sẽ được gọi
Hàm dựng 2
Hàm dựng 1
Cả 2 hàm dựng đều được gọi
Không hàm dựng nào được gọi
Chọn đáp án A








