• [单选题]如果要创建一个3级数据分组表,第一个分组表达式是“”,第二个是分组表达“性别”,第三个分组表达式是“基本工资”,则有当前索引的索引关键字表达式应该是( )。
  • 正确答案 :B
  • 部门+性别+(STR)基本工资


  • [单选题]有以下程序:include using namespace std;class myclass{private: int a,b;public: v
  • 有以下程序: #include iostream> using namespace std; class myclass { private: int a, b; public: void init( int i, int j ) { a = i; b = j; } friend int sum( myclass x ); }; int sum( myclass x ) { return x.a + x.b; } int main () { myclass y; y.init( 15, 20 ); coutsum( y )end1; return 0; } 执行后的输出结果是( )。

  • 正确答案 :A
  • 15

  • 解析:解析:本题主要考察C++中友元函数的使用。程序中,首先定义一个myclass类,其中包含private类型数据成员inta和intb;并含有成员函数voidinit(),其功能为初始化数据成员a和b,使其值分别为a=i和b=i;同时声明了一个友元函数intsum(),其函数定义在类声明体外,功能为返回myclass类的对象中的两个数据成员之和。程序主函数中,首先创建一个myclass类的对象y,并调用y的初始化函数对其变量进行赋值操作,执行该语句后,应该有:y.a=15和y.b=20。程序最后调用函数sum()计算对象y中数据成员的和,由于sum()为类myclass的友元函数,因此其可以自由访问对象y中的数据成员,显然其返回值为:15+20=35。

  • [单选题]有如下程序include using namespace std;class base{public:virtual void f1(){cout
  • 有如下程序#include iostream>using namespace std;class base{public: virtual void f1() { cout"F1Base "; } virtual void f2() { cout"F2Base "; }};class derive: public base{ void f1() { cout"F1Derive "; } void f2( int x ) { cout"F2Derive "; }};int main(){ base obj1, * p; derive obj2; p = & obj2; p -> f1(); p -> f2(); return 0;} 执行后的输出结果是

  • 正确答案 :A
  • F1Derive F2Base

  • 解析:解析:本题主要考查C++中虚函数机制及其继承过程中的要点。虚函数在基类中加关键字virtual声明,在派生类中重新定义;如果派生类没有覆盖虚函数,则程序执行中将会执行基类的虚函数版本。题目程序中,建立了基类base,其内函数void f1()和void f2()均被声明为虚函数,并在调用时会显式的发出声明。派生类derive利用 public方式继承基类base,并覆盖其基类base中的虚函数f1();对于base中的虚函数f2(),由于派生类 derive中的同名函数f2()中带有参数int x,因此被编译器认为是函数重载,而不作虚函数覆盖处理,因此实际上派生类derive中包含两个f2()函数,一个不带参数,调用时执行基类base中的f2()函数版本,一个带参数int x,调用时执行重载后的版本。题目 main()函数中,定义了基类对象。obj 1和基类指针*p,同时定义了派生类对象obj2。p指向。obj2时:p->f1()函数调用执行派生类覆盖后的版本,输出D1;p-> f2()由于不带参数,因此执行未经派生类覆盖的函数版本,即基类base中的f1()函数版本。

  • 查看原题 点击获取本科目所有试题

    推荐下载科目: 计算机二级 计算机三级 思科认证 JAVA认证 软考高级 软考初级 职称计算机 通信工程师 计算机操作员初级 计算机操作员中级
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2