题库 题库

【简答题】

请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hoh0. There is a blaCk dog named Haha. There is a motley dog named Hihi. 注意:只修改每个//ERROR****found****女料下的那一行,不要改动程序中的其他内容。
#inClude using namespaCe std; //狗的颜色:黑、白、黄、褐、花、其他
enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER}; Class Dog{//狗类
DOGCOLOR Color; Char name[20]; statiC int Count; publiC:
Dog(Char nalTle[],DOGCOLOR Color){ strCpy(this一>name,name);
//ERROR**********found**********、
strCpy(this一>Color,Color);
} 1 DOGCOLOR getColor()Const{retum Color;}
//ERROR**********found**********
Const Char * 9etName()Const{return*finin9;} Const Char * 9etColorString()Const{
switCh(Color){
Case BLACK:return”blaCk“; Case WHITE:return”white”:
Case YELLOW:return’"yellow”: Case BROWN:return”brown”; ease PIEBALD:return”piebald”:
}
return”motley”;
}
void show()Const{ . Cout<<”There is a”<<GETCOLORSTRING()<
} }; int main(){
//ERROR**********found**********
Dog dogl(”Hoh0”,WHITE),dog2(”Haha”,BLACK);d0g3(”Hihi”,0THER); d091.show();
dos2.show(); dos3.show(); return 0;
}

参考答案

(1)this->Color=Color:
(2)ConsL ChAr GEtNAmE()Eonst{rEturn*nAmE;}
(3)DoG DoGl(”Hoho”,WHITE)。DoG2(”HAhA”,BLACK),DoG3(”Hihi”,OTHER);

相关试题

单选题 下列数据结构中,属于非线性结构的是( )。 查看答案
单选题 程序流程图中带有箭头的线段表示的是( )。 查看答案
单选题 软件详细设计产生的图如下:

该图是( )。
查看答案
单选题 必须用一对大括号括起来的程序段是( )。 查看答案
单选题 秘序调试的任务是( )。 查看答案
单选题 下列字符串中。不可以用做c++标识符的是(  )。 查看答案
单选题 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 查看答案
单选题 软件设计中模块划分应遵循的准则是( )。 查看答案
单选题 下列叙述中正确的是(  )。 查看答案
单选题 有如下程序:
#include
using namespace std;
class A{
public:
virtual void fancl(){cout<<”Al”;}
void func2(){cout<<”A2”;}
};
class B:public A{
public:
void funcI(){tout<<”Bl”;}
void func2(){tout<<”B2”;}
};
intmain()}
A*P=new B:
P—>funcl();
P—>func2();
delete p;
return 0;
}
执行这个程序的输出结果是(  )。
查看答案
单选题 不能作为重载函数的调用的依据是(  )。 查看答案
单选题 如果类A被说明成类B的友元,则( )。 查看答案
单选题 有如下类定义:
class Foo
{
public:
Foo(int v):value(V){}//①
~Foo(){}//②
private:
Foo(){}//③
int value=0://④
};
其中存在语法错误的行是(  )。
查看答案
单选题 下列程序的执行结果为( )。
#include
void main()
{
int a=3,b=0;
int*P =&a;
b=+a++;
cout<<*P<<”,”<<B<
}
查看答案
单选题 下面关于break语句的描述中,不正确的是( )。 查看答案
单选题 下面程序的运行结果为( )。
#include
void main()
{
for(int a=0,x=0;!x&&a<=10;a++)
{
a++:
}
cout<<A<
}
查看答案
单选题 有如下程序:
#inClude using namespaCe std; Class A{
publiC:
statiC int a;
void init(  ){。a=1;}
A(int a=2){init(  );a++;} };
int A::a:0: A obj;
int main(  ) {
Cout<<OBJ.A:&NBSP;&NBSP;&NBSP;
}
运行时输出的结果是(  )。
查看答案
单选题 下列运算符中,在c++语言中不能重载的是( )。 查看答案
单选题 有如下程序:
#inClude using namespaCe std; Class Base{
publiC:
void output(){Cout<<1;}
virtual void Print(){Cout<<'B’;} };
Class Derived:publiC Base{ publiC:
void output(){Cout<<2;} void Print(){Cout<<’D ';} };
int main() {
Base * ptr=new Derived; ptr一>output();
ptr一>Print(); delete ptr;
retum0; }
执行这个程序的输出结果是( )。
查看答案
单选题 执行下列语句段后,输出字符“*”的个数是( )。
for(int i=50;i>1;i-=2)Cout<<'*':
查看答案