出自:长沙理工大学-面对对象程序设计C++

设int x=100;int r=x;若cout <<&x;显示0212FF7A,则cout <<&r;输出值为( ) 100 02l2FF7A 0212FF7B 未知
在类中说明的成员可以使用关键字的是() public extern cpu register
在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的() 私有成员 公有成员 保护成员 保护成员或私有成员
关于对象概念的描述中,说法错误的是() 对象就是C语言中的结构变量 对象代表着正在创建的系统中的一个实体 对象是类的一个变量 对象之间的信息传递是通过消息进行的
在保护继承的情况下,基类成员在派生类中的访问权限() 都降一级使用 保持不变 受保护 不受保护
当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中() 都是虚函数 只有被重新说明时才是虚函数 只有被重新说明为virtual时才是虚函数 都不是虚函数
下列程序的输出结果是() #include void main() {int n[][3]={10,20,30,40,50,60}; int (*p)[3]; p=n; cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;} 10,30,50 10,20,30 20,40,60 10,30,60
下列关于静态数据成员的描述中正确的是() 静态数据成员是类的所有对象所共有的 静态数据成员要在构造函数内初始化 类的每个对象有自己的静态数据成员 静态数据成员不能通过类的对象调用
C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是() 增加了一些新的运算符 允许函数重载,并允许设置缺省参数 规定函数说明符必须用原型 引进了类和对象的概念
析构函数的返回值类型为 void bool int 无类型
决定C++语言中函数的返回值类型的是( ) return语句中的表达式类型 调用该函数时系统随机产生的类型 调用该函数时的主调用函数类型 在定义该函数时所指定的数据类型
在编译指令中,宏定义使用哪个指令() #if #include #define #error
类中的protected成员在何处访问? 只类自身成员函数中 只子类成员函数中 类和子类的成员函数中 通过对象类外访问
在构造向量时,不正确的叙述是( )。 可以使用基本数据类型 可以使用类 可以使用向量 不可以使用容器
假定一个类的构造函数为A(int aa,int bb){a=aa++;b=a*++bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为() 4和5 4和20 4和24 20和5
以下基类中的成员函数表示纯虚函数的是() virtual void tt()=0 void tt(int)=0 virtual void tt(int) virtual void tt(int){}
下列哪种类型的函数适合声明为内联函数? 函数体语句较多 函数体逻辑较复杂 函数执行时间较长 函数语句较少,执行速度要求高
编写C++程序一般需经过的几个步骤依次是() 编辑、调试、编译、连接 编辑、编译、连接、运行 编译、调试、编辑、连接 编译、编辑、连接、运行
在C++中不返回任何类型的函数应该说明为() int char void double
关于this指针使用说法正确的是() 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码 保证基类私有成员在子类中可以被访问。 保证基类保护成员在子类中可以被访问。 保证基类公有成员在子类中可以被访问。
在C++中,使用流进行输入输出,其中用于键盘输入() cin cerr cout clog
已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明() f1和f2都是静态函数 f1不是静态函数,f2是静态函数 f1是静态函数,f2不是静态函数 f1和f2都不是静态函数
对于多重继承,下列描述正确的是( ) 所有基类使用相同的派生方式 每个基类可使用不同派生方式 只能是public派生 只能是protected派生
关于new运算符的下列描述中,错误的是() 它可以用来动态创建对象和对象数组 使用它创建的对象或对象数组可以使用运算符delete删除 使用它创建对象时要调用构造函数 使用它创建对象数组时必须指定初始值
要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为() const char *p=“ABCD”; char *const p=“ABCD”; char const *p=“ABCD”; const char * const p=“ABCD”;
在私有继承的情况下,基类成员在派生类中的访问权限() 受限制 保持不变 受保护 不受保护
如果从原有类定义新类可以实现的是() 信息隐藏 数据封装 继承机制 数据抽象
设有函数模板 template Q Sum(Q x,Q y) {return (x)+(y);} 则下列语句中对该函数模板错误的使用是() Sum(10,2); Sum(5.0,6.7); Sum(15.2f,16.0f); Sum(“AB”,”CD”);
一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ( ) 内联函数 重载函数 递归函数 嵌套函数
假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为() X,Y;Y,X X,Y;X,Y Y,X;X,Y Y,X;Y,x
下面关于类模板叙述不正确的选项是( )。 可以从一个类模板派生出一个新的类模板 不可以通过一个类来派生类模板 类模板支持单一继承 类模板可以有多个参数
设类A中有静态数据成员x,两个A类对象a和b,若a.x=10,则b.x的值为 9 10 11 不能确定
下面叙述不正确的是() 派生类一般都用公有派生 对基类成员的访问必须是无二义性的 赋值兼容规则也适用于多重继承的组合 基类的公有成员在派生类中仍然是公有的
类的析构函数是对一个对象进行以下哪种操作时自动调用的是() 建立 撤销 赋值 引用
基类中的protected成员,通过哪种派生,其在派生类中的可见性为protected? public和private public和protected protected和private 仅protected
C++源程序文件扩展名为( ) cpp c 1ib obj
声明函数为内联使用的关键字为 const inline short signed
类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束? : ; , .
在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限() 受限制 保持不变 受保护 不受保护
下列运算符中,在C++语言中不能重载的是() >> >= :: /
在编译指令中,宏定义使用哪个指令() #if #include #define #erro
使用函数setprecision( int n)必须包含的头文件是( ) iostream fstream ifstream iomanip
头文件扩展名为 cpp h ub ob
C++中函数中的return指令可以 只能有一条 0或多条 至少有一条 只能主函数调用
假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为() 1和0 1和4 4和0 4和1
有关C++编译指令,以下叙述正确的是() C++每行可以写多条编译指令 #include指令中的文件名可含有路径信息 C++的编译指令可以以#或//开始 C++中不管#if后的常量表达式是否为真,该部分都需要编译
下列关于静态数据成员的描述中正确的是() 、静态数据成员是类的所有对象所共有的 静态数据成员要在构造函数内初始化 类的每个对象有自己的静态数据成员 静态数据成员不能通过类的对象调用
有关多态性说法不正确的是() C++语言的多态性分为编译时的多态性和运行时的多态性 编译时的多态性可通过函数重载实现 运行时的多态性可通过模板和虚函数实现 实现运行时多态性的机制称为动态多态性
静态成员函数没有() 返回值 this指针 指针参数 返回类型
函数重载必须满足的条件是 函数名相同 参数个数不同 参数类型不同 函数名不相同