第 1 页:单选题 |
第 5 页:程序改错 |
第 6 页:简单应用题 |
第 7 页:综合应用题 |
第 8 页:参考答案 |
21.设有定义:
classC
{public:
intvalue;
…
};
intX,*P;
则以下引用形式中,正确的是( )。
A.x=value;
B.x=C::value;
C.p=&value
D.p=C::value
22.有以下程序:
#include
usingnamespacestd;
classsample
{
private:
intX;
public:
sample(inta)
{
X=a:
}
frienddoublesquare(samples);
};
doublesquare(samples)
{
returnS.x*S.X:
}
intmain()
{
samples1(20),s2(30);
cout< return0;
}
执行结果是( )。
A.20
B.30
C.900
D.400
23.有以下程序:
#include
usingnamespaeestd;
classMyClass
{
public:
MyClass(intn){number=n;}
//拷贝构造函数
MyClass(MyClass&other){number=other.number;}
~MyClass(){}
private:
intnumber;
};
MyClassfun(MyClassp)
{
MyClasstemp(p);
returntemp;
}
intmain()
{
MyCIassobj1(10),obj2(O);
MyClassobj3(obj1);
obj2=fun(obj3);
return0;
程序执行时,MyClass类的拷贝构造函数被调用的次数是( )。
A.5
B.4
C.3
D.2
24.下列函数的运行结果是( )。
#include
intadd(inta,intb);
voidmain()
{
externintX,y;
cout< }
intx(20),y(5);
intadd(inta,intb)
{
ints=a+b:
returns;
}
A.25
B.30
C.20
D.15
25.执行语句:cout< A.123*******0K
B.123#######OK
C.123********0K********
D.123#######OK########
26.下面是关于派生类声明的开始部分,其中正确韵是( )。
A.classvirtualB:publicA
B.virtualclassB:publicA
C.classB:publicAvirtual
D.classB:virtualpublicA
27.下面程序的运行结果为( )。
#include
ClassA
{
public:A( ){cout<<"1";}
~A( ){cout<<"2";}
};
ClassB:public:A
{
public:
B( ){cout<<"3";}
~B( ){cout<<"4";}
};
Voidmain( )
{
Bb;
}
A.1234
B.1324
C.1342
D.3142
28.下列关于构造函数和析构函数的描述,错误的是( )。
A.析构函数中调用虚函数采用静态联编
B.对虚析构函数的调用可以采用动态联编
C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数
D.构造函数可以声明为虚函数
29.若有如下程序:
#include
usingnamespaeestd;
classTestClass
{
public:
voidwho(){cout<<"TestClass"< };
classTestClassl:publicTestClass
{
public:
voidwho(){cout<<"TestClassl"< intmain()
{
TestClass*P;
TestClasslobj1;
p=&obj1;
p->who();
retum0;
}
则该程序运行后的输出结果是( )。
A.TestClassl
B.TestClass
C.0
D.无输出
30.有以下程序:
#include
usingnamespacestd;
#defineP13.14
classPoint
{private:
intX,y;
public:
Point(inta,intb)
{x=a:
y=b;}
intgetx()
{returnX;}
intgety()
{returny;}};
classCircle:publicPoint
{private:
intr;
public:
Circle(inta,intb,intc):Point(a,b)
{r=C;}
intgetr()
{returnr;}
doublearea()
{returnPI*r*r;}};
intmain()
(Circlec1(5,7,10);
cout< return0;}
程序执行后的输出结果是( )。
A.314
B.157
C.78.5
D.153.86
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |