C++笔试题2(基础题)

(1)请写出下列程序的输出内容

代码如下:

 1 #include <iostream>
 2 using namespace std;
 3
 4 class A
 5 {
 6 public:
 7     A()
 8     {
 9         cout << "A::A()" << endl;
10     }
11     virtual ~A()
12     {
13         cout << "A::~A()" << endl;
14     }
15     void fun1() const
16     {
17         cout << "A::fun1()" << endl;
18     }
19     virtual void fun2() const
20     {
21         cout << "A::fun2()" << endl;
22     }
23 };
24
25 class B : public A
26 {
27 public:
28     B()
29     {
30         cout << "B::B()" << endl;
31     }
32     ~B()
33     {
34         cout << "B::~B()" << endl;
35     }
36     void fun1() const
37     {
38         cout << "B::fun1()" << endl;
39     }
40     void fun2() const
41     {
42         cout << "B::fun2()" << endl;
43     }
44 };
45
46 void Test1(const A * pA)
47 {
48     pA->fun1();
49     pA->fun2();
50     delete pA;
51 }
52
53 void Test2(const B * pB)
54 {
55     pB->fun1();
56     pB->fun2();
57     delete pB;
58 }
59
60 void main()
61 {
62     cout << "=====Test1====" << endl;
63     Test1(new B());
64     cout << "====Test2====" << endl;
65     Test2(new B());
66     system("pause");
67 }
68
69 // run out:
70 /*
71 =====Test1====
72 A::A()
73 B::B()
74 A::fun1()
75 B::fun2()
76 B::~B()
77 A::~A()
78 ====Test2====
79 A::A()
80 B::B()
81 B::fun1()
82 B::fun2()
83 B::~B()
84 A::~A()
85 请按任意键继续. . .
86 */

输出内容如上注释。

(2)请写出下列程序的输出内容

代码如下:

 1 #include <iostream>
 2 using namespace std;
 3
 4 void main()
 5 {
 6     for (int i = 10; --i >= 0; i = i>>1)
 7     {
 8         cout << (i + 1) << endl;
 9     }
10
11     system("pause");
12 }
13
14 // run out:
15 /*
16 10
17 4
18 1
19 请按任意键继续. . .
20 */

输出内容如上注释

(3)请写出下列程序的输出内容

代码如下:

输出内容如上注释。

Good Good Study, Day  Day  Up.

顺序   选择   循环   总结

时间: 2024-08-06 01:04:56

C++笔试题2(基础题)的相关文章

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

阿里巴巴 2015年校招 笔试题(附加题)

PS: 前面的选择题:考了各种逻辑推理题.概率题···醉了··· (1)给定一个query和一个text,均由小写字母组成.要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度.例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果 应该为其长度3.请注意程序效率. (2)写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差

笔试题整理 第二题

班上同学聚餐吃火锅,一锅煮了m(1<=m<=50)个鱼丸和n(1<=n<=50)个肉丸,现欲将m个鱼丸和n个肉丸分到k(1<=k<=50)个碗中,允许有空碗,鱼丸和肉丸不允许混在同一个碗里,问共有多少种装法? 假设碗足够大,能够装50个鱼丸和50个肉丸,并且碗没有任何区别.因此当m等于n等于1,k等于3时,有一种装法,因为110,101,011被看做同一种方法. #include <iostream> #include <vector> #inc

大众点评笔试题最后两题题解

问题1: 这是一道动态规划的问题,状态转移方程为 dp[i] = dp[i-3] + dp[i-1] , i>= 3(i<3时dp[i]=1,仅仅有1种情况) 我这里直接开了一个dp数组解决问题.在init方法中进行了初始化. 另外,考虑到为了方便測试,我用了一个递归函数dfs(m,n,str)来进行对全部情况的输出.详细见代码:dfs函数的功能就是输出全部的可行方案. 如:当我输入5的时候,输出: 4 全部方案: 11111 211 121 112 同一时候我设定了数n的范围,当n<0

2019vivo秋招提前批笔试题第3题

笔试的时候没做出来,就顺手截图了. 虽然知道要用动态规划做,但我一直就不太懂动态规划.笔试完又花了2小时把它做出来了.也不知道性能怎么样,但还好做出来了. def solution(n, toltal_money, until_price, until_hot): # 二维数组,每一行代表0到total_money每一个数对应的解(解是一个数组,第0列是最高热度值,后面分别是凑成此热度的因子) # 因为不允许重复采购同一个商品,所以需要标识一下凑成此热度值时已经购买的商品,方便后面的解用到时查看

C笔试题之编程题四

13.一个8*8的矩阵内存储1-9的数字,找到一个4*4的方阵使其和最小. 思路:穷举法 1 #include <stdio.h> 2 3 #define uchar unsigned char 4 5 int main(void) 6 { 7 uchar square[8][8] = { 8 { 1, 4, 6, 8, 4, 9, 0, 7 }, 9 { 2, 6, 3, 7, 2, 1, 8, 7 }, 10 { 1, 6, 9, 8, 5, 3, 2, 8 }, 11 { 4, 5, 7

C/C++基础笔试题1.0(字节对齐)

传说中博文标题带有笔试.面试等点击率都会很高呢?我也试试! 众生皆是码农命,我们这种即将战秋招的渣渣,既没有超凡的能力,也没有流弊的项目,怎么破? 唯独苦苦怒刷基础,笔试题,面试题,因为以前常常刷OJ,所以很多面试题的编程题倒是可以解,但是笔试题或者基础题我就不记得了,唯独慢慢回想. 况且,写这种面试题,谁能写得赢JULY神. 今天首先讲得是字节对齐. 注意:我是一个渣,所以我只能按自己的理解来说了(要不然怎么会这么惨呢?).如果你想看大神的解释,请看这里 来看个题目 #include <ios

C/C++ 笔试题

/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问

【笔试题-腾讯】给定一个数组a[N],我们希望构造数组b[N]

腾讯2012实习生笔试题(加分题): 给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].在构造过程: a)不允许使用除法: b)要求O(1)空间复杂度和O(n)时间复杂度: c)除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量.对空间和全局静态变量等): 请用程序实现并简单描述. 题意应该不难理解,乍一看有点儿无从下手的感觉,思考后没有突破的话就想放弃了.看到网上其他同学也给出了解法,代码很简洁,但是理解起来不是

100 道 Linux 笔试题,能拿 80 分就算大神!

本套笔试题共100题,每题1分,共100分.(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 2. 在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ? A. 串行口B. 硬盘 C. 虚拟终端D. 打印机 3. 下面哪个Linux命令可以一次显示一页内容? A. pause B. cat C. more D. grep 4.