-
1下列函数模板的定义中,合法的是
A.template Tabs(T x) {return x <0 – x: x;}
B.template class Tabs(Tx){retumx<0 -x;x;}
C.template Tabs(T x){retum x<0 -x;x;}
D.template T abs(T x){returm x<0 -x;x;}
开始考试点击查看答案 -
2下列运算符中,不能被重载的是
A.&&
B.!=
C..
D.++
开始考试点击查看答案 -
3下列有关继承和派生的叙述中,正确的是
A.派生类不能访问基类的保护成员
B.作为虚基类的类不能被实例化
C.派生类应当向基类的构造函数传递参数
D.虚函数必须在派生类中重新实现
开始考试点击查看答案 -
4有如下程序:#include<iostream>using namespace std;class A{publicstatic int a;void init(){a=1;}A(int a=2) {init();a++;}};int A:;a=0A obj;Int main(){cout<<obj.a;retum0;}运行时输出的结果是
A.0
B.1
C.2
D.3
开始考试点击查看答案 -
5有如下函数定义:void func (int a,int&b) {a++; b++;}若执行代码段:intx=0 ,y=1func(x,y);则变量x和y值分别是
A.0和1
B.1和1
C.0和2
D.1和2
开始考试点击查看答案 -
6有如下程序:#include<iostream>using namespace std;class test {private:int a;public:test(){cout<<”constructor”<<endl;}test(int a){cout<<a<<endl;}test(const test&_test){a=_testa;cout<<”copy constructor”<<endl;}test(){cout<<”destructor”<<endl;}};int main()}test A(3)return0;运行时输出的结果是
A.3
B.constructordestruclor
C.copy constructor
D.3dstructor destruclor
开始考试点击查看答案 -
7若有如下类声明class My Class {public:MyClass() {cout<<1;}};执行下列语句MyClass a,b[2],*P[2];以后,程序的输出结果是
A.11
B.111
C.1111
D.11111
开始考试点击查看答案 -
8有如下程序:#include<iostream>using namespace std;class point {public:static int number;public:point(){number++;~point(){number-;}};imt point::number=0;void main(){point*ptr;printA,B;{point*ptr_point=new point{3};ptr=ptr_point;}pointC;cout<<point::number<<endl;delete[]ptr;}运行时输出的结果是
A.3
B.4
C.6
D.7
开始考试点击查看答案 -
9如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制。#include<iostream>using namespace std;class Base{int a,b;public:Bace(int x ,int y) { a=x; b=y;}Void show(){ cout<<a<<’,’<<b<<endl;}}clsaa Derived:public Base {int c ,d;public:Derived(int x,int y,int z,int m):Base(x,y){c=z; d=m;}Void show(){ cout<<c<<’,’d<<endl;}};int main(){Base B1(50,50),*pb;Derived DI(10,20,30,40);Pb=&D1;Pb->show();Return 0;}运行时输出的结果是
A.10,20
B.30,40
C.20,30
D.50,50
开始考试点击查看答案 -
10有如下程序:#include<iostream>using namespace std;class A{public;A(int i ){x= i ;}Void sispa(){cout<<x<<’,’;}Private:int x ;};class B;publicA{public;B(int i):A(i +10) {x =i ;}voud dispb() {dispa();cout<<x<,endl;}Private:Int x;};int main(){B b(2);b.dispb()retum 0:}运行时输出的结果是
A.10,2
B.12,10
C.12,2
D.2,2
开始考试点击查看答案