位置:首页 > 题库频道 > 其它分类 > 计算机其它 > 二级二级C++2004年9月全国计算机等级考试二级笔试试卷&公共基础知识及C++语言程序设计

在一个类体的下列声明中,正确的纯虚函数声明是

发布时间:2024-07-09

A.virtual void vf()=0;

B.void vf(int)=0;

C.virtual int vf(int);

D.virtual void vf(int) { }

试卷相关题目

  • 1一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是

    A.每个派生类的构造函数都要为虚基类构造函数提供实参

    B.多继承时有可能出现对基类成员访问的二义性问题

    C.使用虚基类可以解决二义性问题并实现运行时的多态性

    D.建立最派生类对象时,虚基类的构造函数会首先被调用

    开始考试点击查看答案
  • 2在C++中用来实现运行时多态性的是

    A.重载函数

    B.析构函数

    C.构造函数

    D.虚函数

    开始考试点击查看答案
  • 3在公有派生的情况下,派生类中定义的成员函数只能访问原基类的

    A.公有成员和私有成员

    B.私有成员和保护成员

    C.公有成员和保护成员

    D.私有成员、保护成员和公有成员

    开始考试点击查看答案
  • 4有以下程序#include<iostream>using namespace std;class MyClass{public:MyClass(int n){number = n;}//拷贝构造函数MyClass(MyClass &amp;other){ number=other.number;}~MyClass(){}private:int number;};MyClass fun(MyClass p){MyClass temp(p);return temp;}int main(){MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;}程序执行时,MyClass类的拷贝构造函数被调用的次数是

    A.5

    B.4

    C.3

    D.2

    开始考试点击查看答案
  • 5关于动态存储分配,下列说法正确的是

    A.new和delete是C++语言中专门用于动态内存分配和释放的函数

    B.动态分配的内存空间也可以被初始化

    C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间

    D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

    开始考试点击查看答案
  • 6在下面的运算符重载函数的原型中,错误的是

    A.Volume operator - (double, double);

    B.double Volume::operator- (double);

    C.Volume Volume: :operator - (Volume);

    D.Volume operator - (Volume, Volume);

    开始考试点击查看答案
  • 7下列是模板声明的开始部分,其中正确的是

    A.template

    B.template

    C.template

    D.template

    开始考试点击查看答案
  • 8执行语句序列ofstream outfile("DAT

    A.DAT");if(...) cout << "OK"; else cout << "FAIL";后,如果文件打开成功显示“OK”,否则就显示“F厶n。”。由此可知,上面if语句的...处的表达式应是A.outfile.fail() 或 outfile

    B.outfile.good() 或 !outfile

    C.outfile.good() 或 outfile

    D.outfil

    E.fail() 或 !outfile

    开始考试点击查看答案
  • 9C++流中重载的运算符>>是一个(  )

    A.用于输出操作的非成员函数

    B.用于输入操作的非成员函数

    C.用于输出操作的成员函数

    D.用于输入操作的成员函数

    开始考试点击查看答案
  • 10有以下类定义class Point {public:Point(int x = 0, int y = 0) { _.x = x; _.y = y; }void Move(int xOff, int yOff){ _x += xOff; _.y += yOff; }void Print() const{ cout << '(' << _x << ',' << _y << ')' << endl; }private:int _x, _y;};下列语句中会发生编译错误的是

    A.Point pt; pt.Print();

    B.const Point pt; pt.Print();

    C.Point pt; pt.Move(l, 2);

    D.const Point pt; pt.Move(l, 2);

    开始考试点击查看答案
返回顶部