C++第二学期期末考试复习资料(考试题全部来源于此)(2)

2019-04-10 09:05

{

cout<

A::operator++() {

cout<<++x<<' '<<++y<<'\\n'; }

void main() {

A a(1,2); ++a; a++; }

答案:空 1:2 3 2 3

37、以下程序输出结果的第一行是________,第二行是________。 # include class X {

public: virtual void f(){ cout <<\ }; class Y: public X {

public: void f(){cout<<\ };

void main(void) {

Y y,*xy=&y;X *xp=&y; xy ->f(); xp->f(); }

答案:bb bb 38、阅读以下程序。 #include class Char { private: char c1,c2; public:

void convert(char a) { c2=(c1=a)-32; }

void disp() { cout<

void main() {

Char a,b;

a.convert('m'); a.disp(); b.convert('n'); b.disp();

}

执行结果第一行为________________,第二行为________________。 答案:m转换为M n转换为N

39、多态性分为两种:_____________(编译时多态)和_____________(运行时多态)。 答案:静态多态 动态多态

40、程序输出的第一行是________,第二行是________。 # include class Ba { int y; public: int x;

Ba(int b){x=b;y=x+x;} int Gety(void){return y;} };

class A: public Ba { public:

A(int c):Ba(c){}

int Getx(void){return x;} };

class B:public Ba { public:

B(int d):Ba(d){} int Getx(){return x;} };

class C:public B, public A { public:

C(int e):A(e+30),B(e+100){ } };

void main(void) { C c(100);

cout <

答案:260 400 130 200

41、以下程序输出的第一行是_______,第二行是________。 # include class Shape { public:

Shape( ){}

virtual float Area( )=0; };

class Circle:public Shape { float r; public;

Circle(float c){r=c;} float Area(){return 3*r*r;} };

class Rectangle:public Shape { float h,w; public:

Rectangle(float c,float d){h=c;w=d;} float Area(){return h * w;} };

void fun(Shape * s) {cout<Area()<<'\\n';} void main(void) {

Circle c(4); fun(&c); Rectangle r(5,2); fun(&r); }

答案:48 10

42、以下程序输出结果的第一行是__________,第二行是__________。 # include class X {

public: void f(){ cout <<\};

class Y: public X {

public: void f(){cout<<\};

void main(void) {

Y y , *xy=&y ; X *xp=&y ; xy ->f() ; xp->f() ; }

答案:bb aa

43、私有派生中,基类中的public成员在派生类中是________成员,protected成员在派生类中是________成员。

答案:private :private

44、以下程序输出的第二行是________,第四行是________。 # include class A { int i; public:

static int count; A(int a =0) {

i=a+count;

count++; cout<

int A::count=0; void main(void) { A a(100); A b; A c(200);

cout<<\}

答案:2 1 count=3

45、保护派生中,基类中的public成员在派生类中是________成员,protected成员在派生类中是________成员。 答案:protected 【或】 保护 protected 【或】 保护

46、以下程序输出的第一行是________,第二行是________,第三行是________。 # include class T{public:static int x ; }; int T::x=1; void main(void) {

T a,b;a.x=10;b.x=20;

cout<<\ }

答案:a.x=20 【或】 20 b.x=20 【或】 20 T::x=20 【或】 20

46、继承权限有三种:________派生、________派生、________派生。 答案:公有 私有 保护

47、以下程序输出的第一行是________,第二行是________,第三行是________,第四行是________。 #include #include class Base {

char str[20];

public:

Base(char *s=\ {

strcpy(str,s); cout<

class h1:public virtual Base {

char str1[20]; public:

h1(char *s1,char *s2):Base(s1) {

strcpy(str1,s2); cout<

class h2:virtual public Base {

char str2[20]; public:

h2(char *s1,char *s2):Base(s1) {

strcpy(str2,s2); cout<

class h3:public h1,public h2 {

char str3[20]; public:

h3(char *s1,char *s2,char *s3,char *s4):h1(s1,s2),h2(s1,s3) {

strcpy(str3,s4); cout<

void main() {

h3 a(\}

答案:default h1 h2 h3

48、通过重载运算符\,直接实现两个一维数组对应元素相加的运算。设数组a、b分别为int a[10]={1,2,3,4,5,6,7,8,9,10},int b[10]={4,5,6,7,8,9,10,11,12,13},则两数组相加后,结果为{5,7,9,11,13,15,17,19,21,23}。类似地,重载运算符\,实现复合赋值运算。

# include class Arr {


C++第二学期期末考试复习资料(考试题全部来源于此)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外汇储备投资

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: