為大家收集整理了《2014年計(jì)算機(jī)二級(jí)C++上機(jī)考試試題》供大家參考,希望對(duì)大家有所幫助?。?!
程序改錯(cuò)題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正其中的錯(cuò)誤,使程序正確運(yùn)行,并且使程序輸出的結(jié)果為
0K
注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即可。
試題程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
//******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
//******error******
cout<<"OK" }
private:
inta;
intb;
};
voidmain()
{
TC20bj;
//******error******
TCl*p=(TCl*)obj;
p->func();
}
(1)應(yīng)改為“virtualvoidfunc()=0;”。
(2)應(yīng)改為“cout<<"0K"<(endl;”。
(3)應(yīng)改為“TCl*p=(TCl*)&obj;”。
【解析】本題中TCl類(lèi)中的func函數(shù)是純虛函數(shù),純虛函數(shù)的定義格式為virtual<函數(shù)類(lèi)型><函數(shù)名>((參數(shù)表>)=0”,因此第1處的語(yǔ)句應(yīng)為“virtualvoidfunc()=0;”。func函數(shù)沒(méi)有參數(shù)表。編譯程序后發(fā)現(xiàn)第2處的語(yǔ)句有錯(cuò)誤,cout流中的數(shù)據(jù)是用流插入運(yùn)算符“<<”順序加入的,因此“<”不正確,應(yīng)改成“cout<<"0K"<
程序改錯(cuò)題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請(qǐng)改正其中的錯(cuò)誤,使程序正確運(yùn)行,并且使程序輸出的結(jié)果為
0K
注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即可。
試題程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
//******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
//******error******
cout<<"OK" }
private:
inta;
intb;
};
voidmain()
{
TC20bj;
//******error******
TCl*p=(TCl*)obj;
p->func();
}
(1)應(yīng)改為“virtualvoidfunc()=0;”。
(2)應(yīng)改為“cout<<"0K"<(endl;”。
(3)應(yīng)改為“TCl*p=(TCl*)&obj;”。
【解析】本題中TCl類(lèi)中的func函數(shù)是純虛函數(shù),純虛函數(shù)的定義格式為virtual<函數(shù)類(lèi)型><函數(shù)名>((參數(shù)表>)=0”,因此第1處的語(yǔ)句應(yīng)為“virtualvoidfunc()=0;”。func函數(shù)沒(méi)有參數(shù)表。編譯程序后發(fā)現(xiàn)第2處的語(yǔ)句有錯(cuò)誤,cout流中的數(shù)據(jù)是用流插入運(yùn)算符“<<”順序加入的,因此“<”不正確,應(yīng)改成“cout<<"0K"<