云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 全国计算机二级C++等级考试真题及答案

全国计算机二级C++等级考试真题及答案

  • 62 次阅读
  • 3 次下载
  • 2025/12/9 15:31:05

double CTax)

:base(CBase), bonus(CBonus), tax(CTax){}

double getPay()const; //返回应付工资额

Wages operator+(Wages w)const; //重载加法 };

double Wages::getPay()const {return base+bonus-tax;}

Wages Wages::operator+(Wages w)const

{ return Wages(base+w.base, bonus+w.bonus, tax+w.tax); }

int main(){

Wages wl(2000,500,100),w2(5000,1000,300); cout<<(wl+w2).getPay()<

}(15)有如下程序: #include using namespace std; class Pet{

char name[10]; public:

Pet(char*name){strcpy(this->name, name);} const char*getName()const {return name;} virtual void call()const=0; };

class Dog: public Pet{ public:

Dog(char*name):Pet(name){}

void call()const{cout<<\汪汪叫\};

class Cat:public Pet{ public:

Cat(char*name):Pet(name){}

void call()const{cout<<\喵喵叫\};

int main(){

Pet *pet1=new Dog(\哈克\ *pet2=new Cat(\吉米\cout<getName(); pet1->call(); cout<

cout<getName(); pet2->call();

cout<

程序的输出结果是__哈克汪汪叫__ __吉米喵喵叫__

2008年9月二级 C++笔试试卷参考答案 二、填空题 (6)void (7)X2+k-1 (8)2,3 (9)10pumpkin(s) (10)else return n*Fun(n-1); (11)Sample::data (12)p=new int; *p=s.*p; (13)operator + (14)8100

2009年9月全国计算机二级笔试C++

一、选择题(1-10,21-40每题2分,11-20每题1分)

(11)已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则 D A)FA必须定义在FB之前 B)FB必须定义在FA之前

C)若FA定义在FB之后,则FA的原型必须出现在FB的定义之前 D)若FB定义在FA之后,则FB的原型必须出现在FA的定义之前 (12)有如下两个类定义 C class AA{}; class BB{ AA v1,*v2; BB v3; int *v4; };

其中有一个成员变量的定义是错误的,这个变量是 A)v1 B)v2 C)v3 D)v4

由于AA和BB都是类的定义,在类定义中无法声明一个自己的对象,所以在BB的类定义中,企图声明一个BB类的对象,是非法的。 (13)有如下类定义: B class XX{ int xdata; public:

XX(int n=0) : xdata (n) { } };

class YY : public XX{ int ydata; public:

YY(int m=0, int n=0) : XX(m), ydata(n) { } };

YY类的对象包含的数据成员的个数是 A)1 B)2 C)3 D)4

(14)下列有关运算符函数的描述中,错误的是 C A)运算符函数的名称总是以operator为前缀

B)运算符函数的参数可以是对象

C)运算符函数只能定义为类的成员函数(友元函数)

D)在表达式中使用重载的运算符相当于调用运算符重载函数 (15)下列关于模板形参的描述中,错误的是 B A)模板形参表必须在关键字template之后 B)模板形参表必须用括弧( )括起来 C)可以用class修饰模板形参

D)可以用typename修饰模板形参

(16)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是 A

A)ios_base::cur B)ios_base::beg C)ios_base::out D)ios_base::end (17)下列字符串可以用作C++标识符的是 D

A)2009var B)goto C)test - 2009 D)_123 (18)下列枚举类型的定义中,包含枚举值3的是 A A)enum test {RED, YELLOW, BLUE, BLACK}; B)enum test {RED, YELLOW=4, BLUE, BLACK}; C)enum test {RED=-1, YELLOW,BLUE, BLACK}; D)enum test {RED, YELLOW=6, BLUE, BLACK}; (19)有如下程序段: C int i=1; while (1) { i++;

if(i == 10) break;

if(i%2 == 0) cout << '*'; }

执行这个程序段输出字符*的个数是

A)10 B)3 C)4 D)5 (20)已知数组arr的定义如下: D int arr[5] = {1,2,3,4,5};

下列语句中输出结果不是2的是 A)cout << *arr+1 <

(21)计算斐波那契数列第n项的函数定义如下:B Int fib(int n){

if (n == 0) return 1; else if (n == 1) return 2;

else return fib(n-1)+fib(n-2); }

若执行函数调用表达式fib(2),函数fib被调用的次数是 A)1 B)2 C)3 D)4

(22)Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是 D Sample a[2], *p = new Sample;

A)0 B)1 C)2 D)3 (23)下列关于虚基类的描述中,错误的是 C

A)使用虚基类可以消除由多继承产生的二义性

B)构造派生类对象时,虚基类的构造函数只被调用一次 C)声明“class B : virtual public A”说明类B为虚基类 D)建立派生类对象时,首先调用虚基类的构造函数

(24)将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是 B

A)不合法的运算符 B)一元运算符 C)无操作数的运算符 D)二元运算符 (25)有如下模板声明: D

template class A; 下列声明中,与上述声明不等价的是 A)template class A; B)template class A; C)template class A; D)template class A; (26)下列关于C++流的描述中,错误的是 A

A)cout>>'A'表达式可输出字符A B)eof()函数可以检测是否到达文件尾 C)对磁盘文件进行流操作时,必须包含头文件fstream

D)以ios_base::out模式打开的文件不存在时,将自动建立一个新文件 27)有如下程序:C #include using namespace std; class Toy{ public:

Toy(char* _n) { strcpy (name,_n); count++;} ~Toy(){ count--; }

char* GetName(){ return name; } static int getCount(){ return count; } private:

char name[10]; static int count; };

int Toy::count=0; int mail(){

Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”); cout<

运行时的输出结果是

A)1 B)2 C)3 D)运行时出错

(28)有如下程序 B #include using namespace std; class A { public:

A(int i):rl(i) { }

void print( ) {cout<<'e'<

void print( ) const {cout<<'C'<

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

double CTax) :base(CBase), bonus(CBonus), tax(CTax){} double getPay()const; //返回应付工资额 Wages operator+(Wages w)const; //重载加法 }; double Wages::getPay()const {return base+bonus-tax;} Wages Wages::operator+(Wages w)const { return Wages(base+w.base, bonus+w.bonus, tax+w.tax); } int main(){ Wages wl(2000,500,100),w2(5000,1000,3

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com