C/C++综合測试题(四)
又刷了一套题
这些题都是百度、阿里巴巴、腾讯、网易、新浪等公司的面试原题。有一定的难度。只是确实相当有水平。能够通过做题来查漏补缺。
11.以下代码的输出是什么?
class A
{
public:
A() { }
~A()
{
cout<<"~A"<<endl;
}
}; class B:public A
{
public:
B(A &a):_a(a)
{ }
~B()
{
cout<<"~B"<<endl;
}
private:
A _a;
}; int main(void)
{
A a; //非常easy,定义a的时候调用了一次构造函数
B b(a);
}
A. ~B
B. ~B~A
C. ~B~A ~A
D. ~B~A ~A ~A
答案:D
要搞懂构造和析构的循序
构造顺序:
基类构造函数>子类成员变量构造函数 >子类构造函数
析构顺序:
子类析构函数>子类成员变量析构函数 >基类析构函数
12.下面程序的结果?
void foo(int *a, int *b)
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
void main()
{
int a = 1, b = 2, c = 3;
foo(&a, &b);
foo(&b, &c);
foo(&c, &a);
printf("%d, %d, %d", a, b, c);
}
A. 1,2,3
B. 1,3,2
C. 2,1。3
D. 3,2,1
答案:B
水题。。。
13.下列一段C++代码的输出是?
#include "stdio.h"
class Base
{
public:
int Bar(char x)
{
return (int)(x);
}
virtual int Bar(int x)
{
return (2 * x);
}
};
class Derived : public Base
{
public:
int Bar(char x)
{
return (int)(-x);
}
int Bar(int x)
{
return (x / 2);
}
};
int main(void)
{
Derived Obj;
Base *pObj = &Obj;
printf("%d,", pObj->Bar((char)(100)));
printf("%d,", pObj->Bar(100));
}
A. 100。-100
B. 100。50
C. 200,-100
D. 200。50
答案:B
printf("%d,", pObj->Bar((char)(100)));
printf("%d,", pObj->Bar(100));
第1句调用Base类的intBar(charx)函数
第2句调用Derived类的intBar(intx)函数
14.C++类体系中。不能被派生类继承的有?
A. 构造函数
B. 静态成员函数
C. 非静态成员函数
D. 赋值操作函数
答案:A
构造函数能够被子类调用,但不能被子类继承,其他的,B、C、D都能够
15.以下有关malloc和new,说法错误的是?
A. new建立的是一个对象。malloc分配的是一块内存.
B. new初始化对象。调用对象的构造函数。相应的delete调用相应的析构函数,malloc只分配内存,free只回收内存
C. new和malloc都是保留字。不须要头文件支持
D. new和malloc都可用于申请动态内存,new是一个操作符。malloc是是一个函数
答案:C
用过就知道。malloc须要#include<malloc.h>
16.以下有关类的静态成员和非静态成员,说法错误的是?
A. 静态成员存在于内存,非静态成员须要实例化才会分配内存
B. 非静态成员能够直接訪问类中静态的成员
C. 静态成员能訪问非静态的成员
D. 非静态成员的生存期决定于该类的生存期,而静态成员则不存在生存期的概念
答案:C
关键在于分清静态成员和非静态成员的差别
非静态成员必须实例化之后。才是一个实体
而静态成员和类的对象无关,它一直存在于内存中
17.下列代码的输出为:
class CParent
{
public:
virtual void Intro()
{
printf( "I'm a Parent, " );
Hobby();
}
virtual void Hobby()
{
printf( "I like football!" );
}
};
class CChild : public CParent
{
public:
virtual void Intro()
{
printf( "I'm a Child, " );
Hobby();
}
virtual void Hobby()
{
printf( "I like basketball!\n" );
}
};
int main( void )
{
CChild *pChild = new CChild();
CParent *pParent = (CParent *) pChild;
pParent->Intro();
return(0);
}
A. I'm a Parent。I like football!
B. I'ma Parent, I like basketball!
C. I'ma Child, I like basketball!
D. I'ma Child。 I like football!
答案:C
类中的函数都是虚函数,所以
CParent *pParent = (CParent *) pChild;
CParent *pParent = pChild;
的输出结果是一样的
18.在32位小端的机器上,例如以下代码输出是什么:
char array[12] = {0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08};
short *pshort = (short *)array;
int *pint = (int *)array;
int64 *pint64 = (int64 *)array;
printf("0x%x , 0x%x , 0x%x , 0x%x", *pshort , *(pshort+2) , *pint64 , *(pint+2));
A. 0x201,0x403, 0x807060504030201,
0x0
B. 0x201, 0x605,0x807060504030201。
0x0
C. 0x201。 0x605,0x4030201,
0x8070605
D. 0x102, 0x506,0x102030405060708,
0x0
答案:B
我把int64改成_int64之后,编译器输出的结果是答案C
看了网友的解释,意思是把int64看成是普通的64位整形数。所以答案是B
19.switch(c)语句中,c不能够是什么类型()
A. int
B. long
C. char
D. float
答案:D
float存在精度问题
20.头文件里的ifndef/define/endif干什么用?
A. 定义常量
B. 标记为特殊的头文件
C. 防止头文件被反复引用
D. 凝视头文件
答案:C
水题,用过就知道
C/C++综合測试题(四)的更多相关文章
- (各个公司面试原题)在线做了一套CC++综合測试题,也来測一下你的水平吧(二)
刚才把最后的10道题又看了下.也发上来吧. 以下给出试题.和我对题目的一些理解 前10道题地址 (各个公司面试原题)在线做了一套CC++综合測试题.也来測一下你的水平吧(一) 11.设已经有A,B,C ...
- C/C++综合測试题(三)
又刷了一套题 这些题都是百度.阿里巴巴.腾讯.网易.新浪等公司的面试原题,有一定的难度.只是确实相当有水平,能够通过做题来查漏补缺. 1.补充以下函数代码: 假设两段内存重叠,用memcpy函数可能会 ...
- JAVA 综合面试题
JAVA 综合面试题 2007-08-12 目录 TOC \o "1-3" \h \z \u Java面试题整理 9 Java面向对象 9 1. super()与this()的区别 ...
- 当当网-前端project师測试题
前端project师測试题(笔试时间20分钟.面试时间20分钟) 一.笔试 1.基础问题 (1)前端页面有哪三层构成,各自是什么? ...
- php面试题四
php面试题四 一.总结 二.php面试题四 01. 输出为 Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是: A.$_S ...
- kali渗透综合靶机(十四)--g0rmint靶机
kali渗透综合靶机(十四)--g0rmint靶机 靶机下载地址:https://www.vulnhub.com/entry/g0rmint-1,214/ 一.主机发现 1.netdiscover - ...
- 多测师讲解第一个月 _综合面试题_高级讲师肖sir
第一个月综合面试题 1. 冒烟测试是什么意思? 对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别? 4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...
- JAVA组程序优化综合考试试题
题目原型: 有一张标准的树状结构表,里面有Structure_Id和 Parent_Id两个关键列,记录了结点的父子关系.现在要求添加一个字段为 Structure_Code ,标记为 三位一个节点关 ...
- U3D面试题四
1.配置Unity3D调试环境 在windows环境下,设置unity3d的编辑器调试环境方法: 点击“Edit‘---”Preferences“,弹出如下窗口 选择MonoDeveop即可. 在编辑 ...
随机推荐
- zabbix基础安装
环境依赖:LNMP或者LAMP 简介参考:http://blog.51cto.com/zhang789/1868880 一.准备 我安装的环境及其版本如下: 系统版本 CentOS Linux rel ...
- 显微镜下的webpack4入门
前端的构建打包工具很多,比如grunt,gulp.相信这两者大家应该是耳熟能详的,上手相对简单,而且所需手敲的代码都是比较简单的.然后webpack的出现,让这两者打包工具都有点失宠了.webpack ...
- Sublime text 3搭建Python开发环境及常用插件安装 转载
Sublime text 3搭建Python开发环境及常用插件安装 一.环境准备 1.官方网站地址 2.Windows 10 3.Sublime Text 3 + 官网购买license(Just a ...
- Python 中的变量还能这样理解(白话)
一.案例分析 1.思考 计算软件测试大佬柠檬小姐姐,每月能存多少钱 # 计算软件测试大佬柠檬小姐姐,每月能存多少钱 # 坐标:深圳 # 2018年1月份 # 房租水电 4000元 # 伙食费 1000 ...
- python爬虫(三)
Requests模块 这个库的标准文档有个极其幽默的地方就是它的中文翻译,我就截取个开头部分,如下图: 是不是很搞笑,在正文中还有许多,管中窥豹,可见一斑.通过我的使用,感觉Requests库的确是给 ...
- 测试第一个Oracle存储过程
存储过程语句 //简单存储过程的例子 //每调用一次打印一次hello world create or replace procedure sayhelloworld as begin dbms_ou ...
- Final Battle #1 K题 Fire game
Description Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows ...
- uva 12096 The SetStack Computer(STL set的各种库函数 交集 并集 插入迭代器)
题意: 有5种操作: PUSH:加入“{}”空集合入栈. DUP:栈顶元素再入栈. UNION:出栈两个集合,取并集入栈. INTERSECT:出栈两个集合,取交集入栈. ADD:出栈两个集合,将先出 ...
- 3.2.11 行 vs 字符串
了解行(line)与字符串(string)的差异是相当重要的.大部分简易程序都是处理输入数据的行,像 grep 与 egrep,以及 sed 大部分的工作(99%)都是这样.在这些情况下,不会 ...
- Mac os安装MySQL数据库,系统提示mysql: command not found该怎么办
当我们安装好MySQL后,在终端输入mysql命令,发现并不能看到自己安装的数据库,这是因为你没有配置环境变量. 在os系统中安装MySQL数据库默认保存在/usr/local/mysql 那么我们应 ...