Professional Documents
Culture Documents
(C++) (OOP) Quiz2 (VN)
(C++) (OOP) Quiz2 (VN)
Cu 1:
Mc 0 Khng xo trn cu
K t kt thc chui trong C++
'.' ''
'\0' '\n'
Cu 2:
Mc 0 Khng xo trn cu
Lnh no sau y dng nhp d liu cho bin chui k t tn l x t bn phm (nhp ti a
100 k t) ?
cin.getline(x, 100, '\n'); cin.getline(100, x, '\n');
readline(x, 100, '\n'); read(x);
Cu 3:
Mc 0 Khng xo trn cu
Mc ch xy dng lp (class) trong phng php lp trnh hng i tng l :
ng gi d liu (data encapsulation) To c ch m hnh ha cc i tng trong
th gii thc.
S dng li cc lp (reuse) Tt c u ng
Cu 4:
Mc 0 Khng xo trn cu
Gii hn truy xut no khng c trong cc lp ca C++
hidden protected
private public
Cu 5:
Mc 1 Khng xo trn cu
Hm destructor phi tr v gi tr g ?
Cu 6:
Mc 0 Khng xo trn cu
Khai bo class no sau y l hp l
class A { int x; }; class B { }
public class A { } object A { int x; };
Cu 7:
Mc 1 Khng xo trn cu
Hm m bt k classs no cng c:
Khng c hm no c. Constructor
Destructor Constructor v Destructor
Cu 8:
Mc 0 Khng xo trn cu
Khi khai bo lp trong C++, hnh vi ca i tng c khai bo nh l :
Khng khai bo trong class Hm hay phng thc
Bin hay thuc tnh Tn lp
Cu 9:
Mc 1 Khng xo trn cu
Nhng pht biu no sau y l ng khi ni v lp:
Cu 10:
Mc 0 Khng xo trn cu
class Test {
};
void main() {
Test t;
Cu 11:
Mc 1 Khng xo trn cu
class Test {
public: int n;
};
void main() {
Test t;
t.Display();
Cu 12:
Mc 2 Khng xo trn cu
// Li bin dch:
ABC t; Khng c hm dng mc nh
Li thc thi Li bin dch.
Chng trnh thc thi xut ra mn hnh mt s Chng trnh thc thi m khng xut g ra mn
m. hnh.
Cu 13:
Mc 0 Khng xo trn cu
class Point {
int xVal, yVal;
public:
Point(int x = 0, int y = 0){
xVal = x ; yVal = y ;
}
void Print(){
cout<<" ("<<xVal <<","<<yVal<<" )";
}
};
void main() {
Point pt(5);
pt.Print();
}
Cu 14:
Mc 1 Khng xo trn cu
Kt qu bin dch - thc thi chng trnh sau:
class Point {
int xVal, yVal;
public:
Point(int x = 0, int y = 0){
xVal = x ; yVal = y ;
cout<< "So nguyen " ;
}
Point(double x = 0, double y = 0){
xVal = x ; yVal = y ;
cout<< "So thuc " ;
}
void Print() ;
};
void Point :: Print(){ cout<< " ("<<xVal <<","<<yVal<<" )"; }
void main() {
Point pt(5.7);
pt.Print();
getch();
}
// kt qu : so thuc (5,0)
Hin th trn mn hnh So thuc (5,0) Hin th trn mn hnh So nguyen (5,5)
Hin th trn mn hnh So nguyen (5,0) Chng trnh bi li bin dch.
Cu 15:
Mc 1 Khng xo trn cu
class Point {
int n;
Point(int x)
{
n = x ;
}
void Print(){cout<<n; }
};
void main() {
Point pt(4);
pt.Print();
}
Chng trnh thc thi xut ra mn hnh : 4 Chng trnh thc thi m khng xut g ra
mn hnh.
Cu 16:
Mc 2 Khng xo trn cu
Kt qu bin dch - thc thi chng trnh sau:
class Test {
int t;
public :
Test(int t){ Test::t = t ; }
void Print(){cout<<t; }
};
void main() {
Test test(4);
test.Test::Print();
}
// Kt qu: 4
Li thc thi Li bin dch.
Chng trnh thc thi xut ra mn hnh : 4 Chng trnh thc thi m khng xut g ra
mn hnh.
Cu 17:
Mc 2 Khng xo trn cu
//Kt qu: 3 4 4
Xut ra mn hnh : 0 3 4 Xut ra mn hnh : 3 4 4
Xut ra mn hnh : 3 3 4 Xut ra mn hnh : 3 4
Cu 18:
Mc 2 Khng xo trn cu
//Kt qu: 3 4
Xut ra mn hnh : 0 3 4 Xut ra mn hnh : 3 4 4
Xut ra mn hnh : 3 3 4 Xut ra mn hnh : 3 4
Cu 19:
Mc 3 Khng xo trn cu
class Teacher {
public:
static int n;
public :
Teacher (){ cout<<" "<<n++ ; }
};
int Teacher::n = 0;
void main() {
Teacher t1;
Teacher t2;
Teacher t3;
cout<<" "<<t1.n ;
getch();
}
//Kt qu: 0 1 2 3
Xut ra mn hnh : 0 1 2 3 Xut ra mn hnh : 1 2 3 4
Xut ra mn hnh : 0 1 2 2 Xut ra mn hnh : 1 2 3 1
Cu 20:
Mc 1 Khng xo trn cu
class Employee {
char ten[30];
char ms[10];
int tuoi;
public :
Employee (char te[], char m[], int tu):tuoi(tu)
{ strcpy(ten, te);
strcpy(ms, m);
}
void Display(){
cout<<"Ma so: "<<ms<<" Ten: "<<ten<<" Tuoi:"<<tuoi<<endl ;
}
};
void main() {
Employee e(" Nguyen Van A", "001",20);
e.Display();
}
// Kt qu: Xut hin trn,mn hinh: Ma so: 001 Ten: Nguyen Van A Tuoi: 20
Li bin dch. Xut hin trn,mn hinh: Ma so: 001 Ten:
Nguyen Van A Tuoi: 20
Li thc thi Khng hin th g trn mn hnh.
Cu 21:
Mc 2 Khng xo trn cu
Khi thc thi on chng trnh sau kt qu s l :
class Base{
public:
Base(){ cout<<Base class<<endl; }
};
class Derive:Base
{
public: Derive(){ cout<<Derive class<<endl; }
};
void main(){
Derive d;
}
//Kt qu:
Base class
Derive class
Base class Derive class Derive class Base class
Base class Derive class
Cu 22:
Mc 2 Khng xo trn cu
class Base{
public:
Base(){}
};
class Derive:Base
public:
Derive(){}
};
void main(){
Derive d;
Cu 23:
Mc 3 Khng xo trn cu
Khi thc thi on chng trnh sau kt qu s l :
class Base{
public:
int xVal;
Base(int x=0) : xVal(x){
cout<<xVal = <<xVal<<endl;
}
};
class Derive:Base
{
public: Derive(){xVal = 10;}
void Print(){
cout<<xVal = <<xVal<<endl;
}
};
void main(){
Derive d;
d.Print();
}
Cu 24:
Mc 2 Khng xo trn cu
class Base{
protected:
int xVal;
public:
Base(){ xVal = 5; }
public:
void Print(){
cout<<xVal = <<xVal<<endl;
}
};
class Derive:public Base
{
public:
Derive(int x) { xVal = x;}
};
void main(){
Derive d(10);
d.Print();
}
// kt qu: xval=10
Mn hnh xut hin: xVal = 5 xVal = 10 Mn hnh xut hin: xVal = 5
Mn hnh xut hin: xVal = 10 Chng trnh b li.
Cu 25:
Mc 3 Khng xo trn cu
class Base{
protected:
int xVal;
public: Base(){ xVal = 5; }
public: void Print(){
cout<<xVal = <<xVal<<endl;
}
};
class Derive:protected Base
{
public: Derive(int x) { xVal = x; }
};
void main(){
Derive d(10);
d.Print();
}
// Li bin dch: hm print sau khi dc k tha c truy cp protected => ko th gi print trong hm
main
Mn hnh xut hin: xVal = 5 xVal = 10 Mn hnh xut hin: xVal = 5
Mn hnh xut hin: xVal = 10 Chng trnh b li.
Cu 26:
Mc 3 Khng xo trn cu
class BaseA{
protected:
int A;
public:
BaseA(){ A = 5; }
void Print(){ cout<<A = <<A<<endl; }
};
class BaseB {
protected:
int B;
public:
BaseB(){ B = 10; }
// Li bin dch :
Derive d(); nu b hai du ngoc () th s cho ra kt qu A=5
Chng trnh b li. Mn hnh xut hin: A= 5
Mn hnh xut hin: B = 10 Mn hnh xut hin: A= 5 B= 10
Cu 27:
Mc 2 Khng xo trn cu
class Point{
private:
int xVal, yVal;
public:
void Print(){
cout<<"("<<xVal<<","<<yVal<<")";
}
Point(int x=0, int y=0):xVal(x),yVal(y){}
Point(int x){
Point::xVal = Point::yVal = x;
}
friend Point operator + (Point, Point);
};
Point operator + (Point p1, Point p2)
{
return Point(p1.xVal+p2.xVal, p1.yVal+p2.yVal);
}
void main(){
Point p1(3,4);
Point p = p1+3;
p.Print();
}
Cu 28:
Mc 2 Khng xo trn cu
class Point{
private: int xVal, yVal; public:
void Print(){
cout<<"("<<xVal<<","<<yVal<<")";
}
Point(int x, int y):xVal(x),yVal(y){ }
Point(int x){
Point::xVal = Point::yVal = x;
}
friend Point operator + (Point, Point);
};
Point operator + (Point p1, Point p2)
{
return Point(p1.xVal+p2.xVal, p1.yVal+p2.yVal);
}
void main(){
Point p1(3,4); Point p = p1+6; p.Print();
}
// Kt qu l (9,10)
// lnh Point p = p1+6 vn thc hin bnh thng (automatic type cast by one-argument
constructor)
Li bin dch Li thc thi
Kt qu l (9,10) Kt qu l (9,4)
Cu 29:
Mc 3 Khng xo trn cu
class Set{
int n, size, *elems;
public:
Set(int s=0):size(s), n(0), elems(new int[s]) { for(int i=0; i<s; i++) elems[i]
= i;
}
void Print(){
for(int i=0; i<size; i++) cout<<" "<<elems[i];
}
Set Func(Set);
~Set() {delete []elems;}
Set s = s1;
return s;
}
void main(){
Set s(10);
Set s1= s.Func(s); s.Print();
}
Kt qu l : 0 1 2 3 4 5 6 7 8 9 L mt kt qu khc
Cu 30:
Mc 3 Khng xo trn cu
class Test{
public:
Test(){cout<<" A ";}
};
void main(){
Test t1;
Test t2;
t2 = t1;
}
Cu 31:
Mc 4 Khng xo trn cu
Khi thc thi on chng trnh sau kt qu s l :
class A{
public:
A(){cout<<" A ";}
};
class B{
public:
B(){cout<<" B ";}
};
void SinhLoi(int a){
if(a>0) throw A(); throw B();
}
void main(){
int n=-1;
try{
SinhLoi(n);
}catch(A){ cout<<" C " ; }
catch(B){ cout<<" D "; }
}
Kt qu l : B D Kt qu l : A D
Kt qu l : B C Kt qu l : A C
Cu 32:
Mc 4 Khng xo trn cu
1: template <class T> T max(T a, T b) {
2: if (a > b) return a;
3: return b;
4: }
5: float max (float fa, float fb) {
6: if (fa - fb >0) return fa;
7: return fb;
8: }
9: void main(){
10:
11: cout<<max(a,b);
12: }
Khi thm lnh no vo dng 10 th chng trnh bo li:
// Chng trnh b li ||=== Build: Debug in OOP_Review (compiler: GNU GCC Compiler) ===|
C:\Users\Marco\Desktop\DH\source code\oop_inheritance_pratices\OOP_Review\main.cpp||In
function 'int main()':|
C:\Users\Marco\Desktop\DH\source code\oop_inheritance_pratices\OOP_Review\main.cpp|16|
error: call of overloaded 'max(int&, int&)' is ambiguous|
C:\Users\Marco\Desktop\DH\source code\oop_inheritance_pratices\OOP_Review\main.cpp|16|
note: candidates are:|
C:\Users\Marco\Desktop\DH\source code\oop_inheritance_pratices\OOP_Review\main.cpp|5|
note: T max(T, T) [with T = int]|
Cu 33:
Mc 4 Khng xo trn cu
1: template <class T, class U>
2: void func (T a, U b){
3: cout<<a<<b ;
4: }
5: void main(){
6:
7: func(a,b);
8: }
Thm lnh no ng nht di y m khi thm vo dng 6 th chng trnh khng bo li
Cu 34:
Mc 4 Khng xo trn cu
public:
Test(T a = 0, T b = 0) {
x = b; y = a;
}
void display();
}
void point<T>::display() {
cout<<"("<<x<<","<<y<<") ";
}
void main() {
Test<int> ti(3,5); ti.display();
Test<char> tc('a','b'); tc.display();
}
Kt qu l : (3, 5) (a, b) Chng trnh b li
Kt qu l : (5, 3) (b, a) Mt kt qu khc
Cu 35:
Mc 4 Khng xo trn cu
// Gii thch: table <int, n>t; ti n phi l 1 hng s hoc biu thc hng
Li bin dch Li thc thi
01 Mt kt qu khc