您现在的位置:首页 >> 资料下载 >> 内容

全国计算机等级考试二级笔试样卷C++语言程序设计(6)

时间:2012/9/22 14:26:26 点击:

11)如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是  11 
#include
using namespace std;
class Base {
public:
   
void print ( ) { cout << 'B'; }};
class Derived : public Base {
public:
    void print ( ) { cout << 'D'; }};
int main( )
{
    Derived* pd = new Derived( );
    Base* pb = pd;
    pb->print( );
    pd->print( );
    delete pd;
    return 0;
}

 

12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:
class Base {
protected:
    void fun( ) {}
};
class Derived : Base {
};
Base类中的成员函数fun()Derived类中的访问权限是  12  注意要求填写privateprotectedpublic中的一项)。

13)在MyClass类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。
  
13   MyClass::operator=(const MyClass& rhs)
{
    if (this == &rhs) return *this;
    value = rhs.value;
    return *this;

}

   

14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。
class InsertSort{

public:

    InsertSort(int* a0, int n0) :a(a0), n(n0) {} //参数a0是某数组首地址,n是数组元素个数

    void sort( )

    {//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]...a[n-1]

        for (int i=1; i

            int t=a[i];

            int j;

            for (  14  ; j>0; --j){

                if (t>=a[j-1]) break;

                a[j]=a[j-1];}

            a[j]=t;}}

protected:

    int *a, n; //指针a用于存放数组首地址,n用于存放数组元素个数

};

 

15)下列程序的输出结果是  15 
#include

using namespace std;

class A {

    int a;

public: 

    A():a(9){}

    virtual void print() const { cout<

};

class B : public A {

    char b;

public:

    B( ){b='S';}

    void print( ) const { cout <

};

void show(A &x){ x.print();}

int main()

{   A d1,*p;

    B d2;

    p=&d2;

    d1.print();

    d2.print();

    p->print();

    show(d1);

    show(d2);

    return 0;}

作者:不详 来源:网络
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 百斯特教育(www.bestcnedu.cn) © 2018 版权所有 All Rights Reserved.
  • Email:bestcnedu@163.com 电话:4000885996,0471-3818386 蒙ICP备09003591号
  • Powered by Bestcnedu.cn