应届生求职网小程序
查看: 11018|回复: 36
打印 上一主题 下一主题

[笔试] EMC笔试题--2007-04 ZZ

[复制链接]
跳转到指定楼层
1
发表于 2008-8-21 12:58 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

1。

class a{

public:

 a() {cout<<"a!"<<endl;}

 virtual void disp(){cout<<" a::disp()!"<<endl;}

 virtual ~a(){cout<<"~a!"<<endl;}

};

class b:public a{

public:

 b(){cout<<"b!"<<endl;}

 ~b(){cout<<"~b!"<<endl;}

};

class c:public b{

public:

 c(){cout<<"c!"<<endl;}

 void disp(){cout<<"c::disp()!"<<endl;}

 ~c(){cout<<"~c!"<<endl;}

};

void main()

{

 a *p=new c();

 p->disp();

 delete p;

}

输出结果:

a!

b!

c!

c::disp()!

~c!

~b!

~a!

若a构造函数a()前没有virtual关键字,输出为a::disp()!

若a析构函数~a()前没有virtual关键字,输出为~a!而不是~c!~b!~a!

 


2。写一个函数 int p(int i, int N);

能够输出i到N再到i,即以参数1,7调用函数,输出结果为

1

2

3

4

5

6

7

6

5

4

3

2

1

要求只用一个语句完成,不允许用?:等n多操作符和关键字。只能用一个printf库函数

include <stdio.h>
int p(int i, int N)

{

  return (printf("%d\n", i))

    && ( i<N

      && (p(i+1, N)

        || (!printf("%d\n", i))));

}

int main(void)

{

  p(1,7);

}


 

+10
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 QQ登录

本版积分规则

关闭

站长推荐上一条 /1 下一条

应届生微信小程序|应届生求职网YingJieSheng.COM ( 沪ICP备12015550号-13 )

GMT+8, 2024-12-23 05:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表