}
上面C++程序运行结果是(c).(选择一项)
a)56
b)65
c)66
d)55
28)#include
classA
{
public:
A(){}
~A(){cout<<"Adestroy";}
};
classB:
publicA
{
public:
B():
A(){}
~B(){cout<<"Bdestroy";}
};
voidmain(){Bobj;}
上面的C++程序运行的结果是(a)。
a)BdestroyAdestroy
b)AdestroyBdestroy
c)Adestroy
d)Bdestroy
29)如果基类A和A的派生类B中都有成员函数func();
要在派生类的func()中调用同名的基类的func()成员函数,下列(b)操作下正确的。
a)func();
b)A:
:
func();
c)B:
:
func();
d)A.func();
30)#include
classA
{
public:
virtual~A(){cout<<"A"<<"";}
};
classB:
publicA
{
~B(){cout<<"B"<<"";}
};
voidmain()
{
A*pObj=newB;
deletepObj;
}
上面的C++程序的运行结果是(d).
a)A
b)B
c)AB
d)BA
31)在C++中,(b)一定不能创建类的对象和实例.
a)虚基类
b)抽象类
c)基类
d)派生类
32)读下面C++程序:
#include
classline
{
public:
intcolor;
};
intstartx;
classbox
{
private:
intupx,upy;
intlowx,lowy;
public:
intcolor;
intsame_color(linea,boxb);
voidset_color(intc)
{
color=c;
}
voiddefine_line(intx,inty)
{
startx=x;
}
};
int(在此添入答案)same_color(linea,boxb)
{
if(a.color==b.color)
return1;
return0;
}
在括号中添入(b),该程序才能正常运行.
a)line:
:
b)box:
:
c)line->
d)box->
33)在c++中,定义了以下的一个类
classexample
{
Private:
intdata;
Public:
intset(intparam);
};
下列操作(d)是正确的
a)exampleobject;
object.data=10;
b)exampleobject;
data=object.set(10);
c)exampleobject;
object.data=object.set(10)
d)exampleobject;
34)读下面C++程序:
#include
classvehicle
{
protected:
intwheels;
public:
vehicle(intin_wheels=4){wheels=in_wheels;}
intget_wheels(){returnwheels;}
};
voidmain()
{
vehicleunicyclel;
vehicleunicycle2(3);
cout<<"Theunickele1has"<cout<<"Theunickele2has"<}
编译后输出结果为(c)。
a)Theunicycle1has0wheel.
Theunicycle2has3wheel.
b)Theunicycle1has4wheel.
Theunicycle2has4wheel.
c)Theunicycle1has4wheel.
Theunicycle2has3wheel.
d)Theunicycle1has0wheel.
Theunicycle2has4wheel.
35)在C++中,编写一个内联函数func,使用类型int的参数,求其平方并返回,返回值为int类型,
下列定义(b)是正确的
a)intfunc(intx){return(x*x);}
b)inlineintfunc{return(x*x);}
c)intinlinefunc{return(x*x);}
d)intfunc(intx){return(x*x);}
36)classsample
{
private:
intdata;
public:
intset();
};
在C++中,下列对类sample的成员函数set()的定义(b)正确的。
a)intset(){data=10;returndata;}
b)intsample:
:
set(){data=10;returndata;}或intsample:
:
set(){sample:
:
data=10;returndata;}
c)intsample:
:
set(){:
:
data=10;returndata;}
d)intset(){sample:
:
data=10;returndata;}
37)在C++中,运算符new的作用是(c)
a)创建名为new的对象
b)获取一个新类的内存
c)返回指向所创建对象的指针,并为创建的对象分配内存空间
d)返回为所创建的对象分配内存的大小
对类的构造函数和析构函数描述正确的是(A)
A)构造函数可以重载,析构函数不能重载
B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载
D)构造函数不能重载,析构函数也不能重载
下面程序的运行结果为(C)
#include(iostream.h>
classA
{
intnum;
public:
A(inti){num=i;}
A(A&a){num=a.num++;}
voidprint(){cout< };
voidmain()
{
Aa
(2),b(a);
a.print();
b.print();
A)23 B)33 C)32 D)22
下面对静态数据成员的描述中,正确的是(A)
A)静态数据成员是类的所有对象共享的数据
B)类的每个对象都有自己的静态数据成员
C)类的不同对象有不同的静态数据成员值
D)静态数据成员不能通过类的对象调用
27)如果类A被说明成类B的友元,则(D)
A)类A的成员即类B的成员
B)类B的成员即类A的成员
C)类A的成员函数不得访问类B的成员
D)类B不一定是类A的友元
(28)可以用p.a的形式访问派生类对象p的基类成员a,其中a是(d)
A)私有继承的公有成员
B)公有继承的私有成员
C)公有继承的保护成员
D)公有继承的公有成员
29)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为(a)
A)abc
B)acb
C)cab
D)cba
(30)下面关于虚函数的描述,错误的是(B)
A)在成员