You are on page 1of 8

CU HI TRC NGHIM OOP

* Lu : tt c cc hm thuc th vin C++ s dng trong cc cu hi trc nghim xem nh c khai bo hp l v chnh xc. Cu 1: Constructor l : A. Hm c tn trng vi tn lp, kiu d liu ca hm l void B. Cc hm c tn trng vi tn lp v khng c tham s. C. Hm c tn trng tn lp v c du ng ~ trc tn hm. D. Cc hm c tn trng vi tn lp v khng c kiu d liu ca hm. Cu 2: Trong cc khai bo hm sau y, hm no l constructor sao chp ( copy constructor) ca lp Phanso: A. Phanso() B. Phanso(const Phanso& x ); C. Phanso(int ts); D. Phanso(int ts, int ms); Cu 3: Trong cc khai bo hm sau y, hm no l constructor mc nh (default constructor) ca lp Phanso: A. Phanso() B. Phanso(const Phanso& x ); C. Phanso(int ts); D. Phanso(int ts, int ms); Cu 4: Pht biu no sau y l ng A. Trong hm constructor ta c th dng lnh return tr v mt gi tr cho hm. B. Mi lp ch c duy nht mt hm destructor. C. Hm destructor khng th l mt hm o. D. Tt c u sai. Cu 5: Trong cc lnh khai bo i tng sau y, lnh no s gi constructor sao chp. A. Phanso x(1,2); B. Phanso y(3,4); C. Phanso z= x+y; D. Phanso t; t = x; Cu 6: Khai bo no sau y l khai bo hm destructor ca lp Phanso (phn s): A. ~Phanso ; B. void ~Phanso(); C. virtual ~Phanso();

D. ~Phanso(const Phanso&x) ; Cu 7: Pht biu no sau y l sai A. Mt lp c th c nhiu hm constructor. B. Mi lp ch c duy nht mt hm destructor C. Hm destructor khng th l mt hm o. D. Hm construtor khng th l mt hm o; Cu 8: Pht biu no sau y l sai A. Hm constructor c gi khi c lnh to ra i tng thuc lp. B. Hm destructor c gi trc khi gii phng i tng khi b nh. C. Nu mt lp khng c contructor sao chp th trnh bin dch t to ra constructor sao chp cho lp . D. Nu mt lp khng c contructor mc nh th trnh bin dch t to ra constructor mc nh cho lp . Cu 9: Pht biu no sau y l sai: A. Destructor ca lp c s c gi sau destructor ca lp dn xut. B. Constructor ca lp c s c gi trc constructor ca lp dn xut. C. Lp dn xut c th khi to gi tr khc cho cc thuc tnh c gii hn public ca lp c s. D. Nu mt lp dn xut khng c ci t hm destructor th hm destructor ca lp c s cng s khng c gi khi gii phng i tng thuc lp dn xut. Cu 10: Cc tnh cht c bn ca phng php lp trnh hng i tng: A. Tnh public, protected v private. B. Tnh cho php hm o, hm thun o v hm friend. C. Mi lp phi c constructor v destructor. D. Tnh ng gi, tnh k tha v tnh a hnh. Cu 11: Pht biu no sau y l ng: A. Thnh vin c gii hn private ch c truy xut bn trong lp v bn trong lp dn xut. B. Thnh vin c gii hn protected c php truy xut bn trong v bn ngoi lp. C. Hm friend ca mt lp c th truy xut thnh vin c gii hn public ca lp . D. Tt c u ng. Cu 12:

Mun vit ton t ++ mt ngi tng thm 1 n v cho lp Phanso. Khai bo no sau y l ng:
A. B. C. D. Phanso operator ++(Phanso x); const Phanso& operator ++ (int ) ; const Phanso operator ++ (int ) ; const Phanso& operator ++ () ;

Cu 13: Mun vit ton t + cng hai Phanso, ta khai bo trong lp Phanso nh sau. Hy chn khai bo no ng:
A. B. C. D. Phanso& operator +(Phanso x); Phanso& operator +(const Phanso& x)const; friend Phanso operator +(const Phanso& x,const Phanso& y); Phanso operator +(const Phanso& x,const Phanso& y);

Cu 14: Cho on chng trnh sau:


class A { private: int x,y; public: A() { x = 1; y=1; } A(const A & a) { x = a.x; y=a.y; } const A& operator = (const A & a) { x = a.x; y=a.y; return *this; } }; void main() { A a; A b=a; }

Cu hi: Khi khi to bin b=a trong hm main. H thng s gi hm no sau y:

A. A() B. A(const A & a) C. const A& operator = (const A& a) D. Khng gi hm no c

Cu 15: Cho on chng trnh sau:


class A { private: int x,y; public: A(int x1, int y1) { x = x1; y=y1; } void In() { cout<<x<<, <<y; } }; void F() { A a(10, 10); a.x += 10; a.y = a.x; a.In(); }

Cu hi: Khi gi hm F(), kt qu hin th trn mn hnh l: A. Chng trnh s bo li do truy cp n thnh phn private ca lp A B. 10, 10 C. 20, 10 D. 20, 20

Cu 16: Cho on chng trnh sau:


class A { private: int x,y; public: A(int x1, int y1) { x = x1; y=y1; } void In_X() { cout<<x=<<x; } void In() const { cout<<x<<, <<y; } }; void F(const A & b) { A a(10, 10); // Lnh L1: a.In_X(); // Lnh L2: a.In(); // Lnh L3: b.In_X(); // Lnh L4: b.In(); }

Cu hi: Cc lnh trong hm main, lnh no sai: A. Lnh L1 B. Lnh L2 C. Lnh L3 D. Lnh L4

Cu 17: Cho on chng trnh sau:


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: class A { private: int x, y; public: A(int x1,int y1) ; void In() ; }; A::A(int x1, int y1) { x =x1; y=y1; } void A ::In() { cout << x <<y; } void main() { A a1(1); A a2(20, 10); a1 = a2; a1.In(); }

Cu hi: on lnh trn khi dch s thng bo li ti: A. Dng 9 do sai li c php B. Dng 11 do sai li c php C. Dng 13 do khng c hm khi to vi tham s tng ng. D. Dng 15 do khng c ton t gn = trong nh ngha lp

Cu 18: Cho on chng trnh sau:

class A { private: int x,y; public: A(int x1, int y1) { x = x1; y=y1; } A(const A & a) { x = a.x; y=a.y; } A operator ++(int){ A tmp=*this; x++; y++; return tmp; } const A& operator ++(){ x++; y++; return *this; } void In(){ cout <<x<<,; cout <<y; } }; void main() { A a1(5, 5), a2(5,5); A x = a1++; A y = ++a2; x.In(); a1.In(); y.In(); a2.In(); }

Cu hi: Kt qu hin th sau khi chy on chng trnh l: A. 5, 5 6, 6 6, 6 6, 6 B. 6, 6 6, 6 6, 6 6, 6 C. 6, 6 6, 6 5, 5 6, 6 D. Chng trnh b li

Cu 19: Cho on chng trnh sau:


class A { private: int x,y; public: A(int x1, int y1) { x = x1; y=y1; } A operator -(A b); friend A operator +(A a,A b); void In(){ cout <<x<<,; cout <<y; } }; A A::operator -( A b) { A c; c.x = x - b.x; c.y = y - b.y; return c; } A operator +(A a, A b) { A c; c.x = a.x + b.x; c.y = a.y + b.y; return c;

Cu hi: Cc lnh trong hm main, lnh no sai: A. Lnh L1 B. Lnh L2 C. Lnh L3 D. Lnh L4

} void main() { A a(5, 5), b(10,10),c; // Lnh L1: c = a b; // Lnh L2: c = b.operator (a); // Lnh L3: c = a + b; // Lnh L4: c = a.operator + (b); }

Cu 20: Cho on chng trnh sau:


class A { private: int x,y; public: A(int x1, int y1) { x = x1; y=y1; } void operator +=(A a){ x += a.x; y += a.y; } void In(){ cout <<x<<,; cout <<y; } }; void main() { A a1(5, 5), a2(10,10); a2 += a1; a2.In(); }

Cu hi: Kt qu hin th sau khi chy on chng trnh l: A. 5, 5 B. 10, 10 C. 10, 15 D. 15, 15

Cu 21: Cho on chng trnh sau:


class A { public: int x,y; }; class B: protected A { public: int z; }; void main() { B b; b.x = 0; // Lnh L1 b.y = 0; // Lnh L2 b.z = 0; // Lnh L3 }

Cu hi: Pht biu no sau y l ng: A. Lnh L1, L2 l ng. Lnh L3 sai. B. Lnh L1, L2 l sai. Lnh L3 ng. C. C 3 lnh L1, L2, L3 u sai. D. C 3 lnh L1, L2, L3 u ng.

Cu 22: Cho on chng trnh sau:


class A { private: int x; protected: int y; }; class B: public A { protected: int z; }; class C: private B { public: C(int x1,int y1,int z1); }; C::C(int x1, int y1, int z1) { x = x1; // Lnh L1 y = y1; // Lnh L2 z = z1; // Lnh L3 }

Cu hi: Pht biu no sau y l ng: A. Lnh L1, L2 l sai. Lnh L3 ng. B. Lnh L1 sai. Lnh L2, L3 ng. C. C 3 lnh L1, L2, L3 u sai. D. C 3 lnh L1, L2, L3 u ng.

Cu 23: Cho on chng trnh sau:


class A { public: void In() { cout << A; } }; class B: public A { public: void In() { cout << B; } }; class C: public B { public: void In() { cout << C; } }; void main() { B *pb, b; C c; pb = &b; pb -> A::In(); pb -> In(); pb = &c; pb -> In(); }

Cu hi: Kt qu hin th sau khi chy on chng trnh l: A. ABC B. BAB C. ABB D. BAC

Cu 24: Cho on chng trnh sau:


class A {

Cu hi:

public: virtual void In() { cout << A; } }; class B: public A { public: void In() { cout << B; } }; class C: public B { public: void In() { cout << C; } }; void main() { B *pb, b; C c; pb = &b; pb -> A::In(); pb -> In(); pb = &c; pb -> In(); }

Kt qu hin th sau khi chy on chng trnh l: A. ABB B. ABC C. BBB D. BBC

Cu 25: Cho on chng trnh sau:


class A { public: virtual void In() = 0; }; class B: public A { public: }; class C: public B { public: void In() { cout << C; } }; void main() { B *pb, b; C c; pb = &b; pb -> In(); pb = &c; pb -> In(); }

Cu hi: Chn pht biu ng nht: A. Chng trnh bo li do khai bo bin b thuc kiu lp tru tng. B. Chng trnh bo li do khai bo bin c thuc kiu lp tru tng. C. Chng trnh chy v khng hin th kt qu g D. Chng trnh chy v hin th k t C trn mn hnh

You might also like