出自:许昌学院面向对象程序设计

当一个类的某个函数被说明为virtual时,关于该函数在该类的所有派生类中说法错误的是( )(本题2.0分) A、 都是虚函数 B、 只有被重新说明时才是虚函数 C、 只有被重新说明为virtual时才是虚函数 D、 都不是虚函数
已知函数模板定义为:template <class T>T max(T a,T b){return a>b?a:b; } 可能生成的模板函数是( )。 (本题2.0分) A、 int max(int,int) B、 double max(double,double) C、 char max(char,char) D、 double max(int,double)
下列关于类模板的描述中,正确的是( )。 (本题2.0分) A、 定义类模板时可以没有模板参数 B、 类模板的成员函数的实现应与函数模板相似 C、 由类模板生成模板类时,应给出模板参数被替代的类型 D、 类模板描述了一组类
下述概念中是面向系统所必须包含的要素是( )(本题2.0分) A、 重载 B、 对象 C、 类 D、 继承
下列描述正确的是( )。 (本题2.0分) A、 任何继承方式下基类中私有成员都是派生类所不可访问的 B、 保护继承方式下基类中的公有成员是派生类对象可访问的 C、 派生类中包含了基类中的所有成员 D、 私有继承方式下基类中公有成员可被直接派生类访问,而不可被间接派生类访问
下列关于函数模板和模板函数的描述中,正确的是( )。 (本题2.0分) A、 函数模板是一组函数的模板 B、 模板函数是一个实在的函数 C、 函数模板是定义重载函数的一种工具 D、 模板函数在编译时不生成可执行代码
已知函数模板定义为 template<class T>T max(T a,T b){ return a>b?a:b; } 下述描述中,正确的是( )。(本题2.0分) A、 该函数有一个模板参数 B、 该函数模板生成的模板函数中,其参数和返回值的类型必须相同 C、 该函数模板生成的模板函数中,其参数和返回值的类型可以不同 D、 T类型所允许的类型范围应对运算符>的操作有意义
下列关于继承的描述中,错误的是( )。(本题2.0分) A、 继承不是类之间的一种关系 B、 C++语言仅支持单一继承 C、 继承会增加程序的冗余性 D、 继承是面向对象方法中一个很重要的特性
关于类的定义的描述中正确的是( )。(本题2.0分) A、 类的定义格式分为说明部分和实现部分 B、 类中一般包含有成员函数和数据成员 C、 类中成员有3种访问权限 D、 成员函数都是公有的,数据成员都是私有的
关于类中成员函数的描述中,错误的是( )。(本题2.0分) A、 类中可以说明一个或多个成员函数 B、 类中的成员函数只能定义在类体外 C、 定义在类体外的成员函数前加inline可成为内联函数 D、 在类体外定义成员函数时,需用类名和作用域运算符加以限定
已知类X是类Y的友元,类Y是类Z的友元,则错误的是( )。(本题2.0分) A、 类X一定是类Z的友元 B、 类Z一定是类X的友元 C、 类Z的成员函数可以访问类Y的对象的任何成员 D、 类X的成员函数可以访问类Y的对象的任何成员
关于类的下列描述中,正确的是( )。(本题2.0分) A、 类是一组对象的模板 B、 类是抽象数据的实现 C、 类是数据和方法的封装体 D、 类是对象的实例
关于对象的下列描述中,正确的是( )。(本题2.0分) A、 对象是一种类型 B、 对象是类的一个实例 C、 对象是客观世界中的一种实体 D、 对象之间是通过消息进行通信的
关于子类型的描述中,( )是正确的。(本题2.0分) A、 子类型就是指派生类是基类的子类型; B、 一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型; C、 在公有继承下,派生类是基类的子类型; D、 子类型关系是不可逆的。
( )是可以作为该类的成员的。(本题2.0分) A、 自身类对象的指针; B、 自身类的对象; C、 自身类对象的引用; D、 另一个类的对象。
关于函数模板,描述正确的是( )。 (本题2.0分) A、 函数模板必须由程序员实例化为可执行的模板 函数 B、 函数模板的实例化由编译器实现 C、 一个类定义中,只要有一个函数模板,则这个类是类模板 D、 类模板实例化后,成员函数也随之实例化
下面描述中,错误的是( )。(本题2.0分) A、 虚函数是没有实现的函数 B、 纯虚函数是返回值等于0的函数 C、 抽象类是只有纯虚函数的类 D、 抽象类指针可以指向不同的派生类
关于类模板,描述正确的是( )。(本题2.0分) A、 一个普通基类不能派生类模板 B、 类模板可以从普通类派生,也可以从类模板派生 C、 根据建立对象时的实际数据类型,编译器把类模板实例化为模板类 D、 函数的类模板参数需生成模板类并通过构造函数实例化
关于虚析构函数的叙述错误的是( )。 (本题2.0分) A、 确保派生类的构造函数被调用 B、 类对象作用域结束时释放资源 C、 在使用delete运算符删除一个对象时,确保析构函数被正确地执行 D、 A和C
在派生类中,重写一个虚函数时,关于函数名、参数的个数、参数的类型、参数的顺序和函数的返回值的要求,错误的是( )。(本题2.0分) A、 完全相同 B、 不同 C、 相容 D、 部分相同
若已经定义 typedef struct stu { int a, b; } student ; ,则下列叙述中正确的是 A.stu 是结构变量 B.student 是结构变量 C.student 是结构类型 D. a和b是结构型变量
一个类可包含析构函数的个数是 A. 0个 B.1个 C.至少一个 D.0个或多个
如果没有为一个类定义任何构造函数的情况下,下列描述正确的是 A.编译器总是自动创建一个不带参数的构造函数 B.这个类没有构造函数 C.这个类不需要构造函数 D.该类不能通过编译
[单选题,5分] 设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是 A.类构造函数先执行 B.成员构造函数先执行 C.两者并行执行 D.不能确定
[单选题,5分] 设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c+6-14%c的值为 A.6 B.7 C.8 D.9
[单选题,5分] 下面程序段的运行结果是 char a[ ]="language",*p ; p=a ; while (*p!=.u.) { cout A.LANGUAGE B.language C.lang D.langUAGE
[单选题,5分] 类的析构函数的作用是 A.一般成员函数的初始化 B.类的初始化 C.对象的初始化 D.在对象生存期结束前自动执行,做清理工作
[单选题,5分] 下列不是描述类的成员函数的是 A. 构造函数 B.析构函数 C. 友元函数 D.拷贝构造函数
[单选题,5分] 以下叙述中,错误的是 A.不同函数中可以使用相同的变量名 B.全局变量和局部变量可以同名 C. 形式参数是局部变量 D.main() 函数中定义的变量在整个程序中都可使用
[单选题,5分] 设有定义 int a[10] , *p=a; 下列对数组元素a[1]的引用中,错误的是 A.p[1] B.*(++a) C.*(++ p) D.*(a+1)
[单选题,5分] 关于C++程序的叙述,错误的说法是 A.C++程序总是从主函数开始执行 B.C++程序中定义的第一个函数是主函数 C.在主函数中可以调用其他函数 D.一个C++程序可以包括多个函数
[单选题,5分] 若已经定义 char a[10]={"abcd"}, *p=a; 则表达式 *(p+1) 的值是 A.“abcd” B.“bcd” C.‘b’ D.语法错误
[单选题,5分] 有定义 int a, *p; 下列赋值语句中,正确的是 A.p=a; B. p=&a; C.p=*a; D.*p=&a;
[单选题,5分] 要表示年龄(age)在18至25之间,正确的表达式是 A.18<=age<=25 B. 18<=age && age<=25 C. 18<=age || age<=25 D.18<=age and age<=25
[单选题,5分] 执行语句:cout<<"aaaa bbbb";输出的结果是 A.aaaa\nbbbb B. aaaabbbb C.aaaa bbbb D.不能输出
[单选题,5分] 下列一维数组说明中,错误的是 A.int a[]={1,2,3}; B.int a[5]; C.int n=5, a[n]; D.int a[5]={1,2,3};
[单选题,5分] 在下列运算符中,优先级最低的运算符是 A.== B.= C.&& D.+
] 错误的C++标识符是 A.e2 B.name_ C.A_B D.2e
[单选题,5分] 是C++语言关键字的是 A. while B.printf C.main D. FILE
[单选题,5分] C++语言的基本数据类型包括 A.char B. struct C. string D.typedef
下面有关重载函数的说法,正确的是 A.重载函数必须具有不同的返回值类型; B.重载函数形参个数必须不同; C.重载函数必须有不同的形参列表   D.重载函数名可以不同;
[单选题,5分] 在声明语句const char *ps;中,ps表示 A.指向字符串的指针 B.指向字符串的const型指针 C. 指向const型字符串的指针 D.指向const型字符串的const型指针
[单选题,5分] 当一个函数无返回值时,函数的类型应为 A.任意 B.int C.void D.char
[单选题,5分] for(int x=0; x <=5;x+=2){...}语句执行循环的次数是 A.3 B.4 C.5 D.6
[单选题,5分] 以下关于switch语句和break描述中 ,正确的是 A.在switch语句中,可以根据需要使用或不使用break语句 B.switch语句中必须用break语句 C.break语句只能用于switch语句 D.break语句是switch语句必须的一部分
[单选题,5分] C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是 A.面向对象 B.面向过程 C.安全性 D.复用性
7[单选题,5分] 应在下列程序划线处填入的正确语句是【 】   #include   class Base   {  public:     void fun(){cout<><> A.fun() B.Base.fun(); C.Base::fun(); D.Base->fun();
[单选题,5分] 通常拷贝构造函数的参数是 A.对象 B.对象的成员 C.对象的指针 D.对象的引用
[单选题,5分] 下面关于友员函数的描述不正确的是 A.可以将一个普通函数声明为某类的友员函数,友员函数可以访问该类的私有成员和保护成员; B.友员函数具有传递性和交换性 C.将A类声明为B类的友员类,则A类所有的成员函数都是B类的友员函数 D.友员函数在类中声明,不能在类中定义;
[单选题,5分] 下面描述中,表达错误的是 A.A、 公有继承时基类中的public成员在派生类中仍是public的 B.B、 公有继承是基类中的private成员在派生类中仍是private的  C.C、 公有继承时基类中的protected成员在派生类中仍是protected的 D.D、 私有继承时基类中的public成员在派生类中是private的