更新时间:2018-11-22 15:59作者:王华老师
5、在32位系统中
[cpp] view plaincopy
class CBase
{
public:
void func()
{
Print();
}
virtual void Print()
{
cout<<"CBase::Print"<
}
};
class CDerived : public CBase
{
public:
virtual void Print()
{
cout<<"CDerived::Print"<
}
};
int main(void)
{
CDerived c;
CBase *p = &c;
return 0;
}
请问:
sizeof(*p)的值是多少? (实际上求的就是一个成员变量的大小+一个虚表指针VPTR的大小)
A、1 B、4 C、8 D、12
p->Print(); 和 c.func();的输出分别是?
A、CBase::Print CBase::Print B、CBase::Print CDerived::Print
C、CDerived::Print CBase::Print D、CDerived::Print CDerived::Print
6、
[cpp] view plaincopy
struct Thing
{
int valueA;
const int valueB;
};
Thing t;
t的成员变量valueA 和 valueB 的值分别为:
A、0 0 B、垃圾值 0 C、无法运行 D、垃圾值 垃圾值
常成员变量valueB必须在构造函数中进行初始化
7、for(int x = 0 , y = 0; !x && y <= 5 ; y++)语句执行循环的次数是:
A、0 B、5 C、6 D、无数次
8、在Windows 32位操作系统中,假设字节对齐为4,对于一个空的类A,sizeof(A)的值为()
A、0 B、1 C、2 D、4
9、以下对函数指针的定义,哪些是正确的:
A、typedef int (*fun_ptr)(int , int); B、typedef int *(fun_ptr)(int , int);
C、typedef int (fun_ptr*)(int , int); D、typedef *int (fun_ptr)(int , int);
10、在32位系统中,下面结构体
[cpp] view plaincopy
struct st
{
char ch , *ptr;
union
{
short a , b;
unsigned int c : 2 , d : 1;
};
bool f;
struct st *next;
};
的大小是:
A、14字节 B、16字节 C、20字节 D、24字节
11、32位小端字节序的机器上,如下代码:
[cpp] view plaincopy
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
E、0x102 , 0x304 , 0x1020304 , 0x5060708 F、0x201 , 0x605 , 0x4030201 , 0x6050403
12、有关引用,下列说法错误的是:
A、引用定义时必须初始化
B、类的非静态引用成员变量不需要在构造函数中初始化
C、数组可以有引用,但没有引用数组
D、public派生对象可以初始化基类类型的引用
E、整型数据的常引用可以直接用数值初始化
F、以上选项都不是
13、Windows PE文件装载到的地址为:
A、0x0030000 B、0x0040000 C、任意地址 D、0x10000000
14、以下哪些对象可用于Windows进程间通信:
A、事件 B、临界区 C、互斥量 D、共享内存 更多热门的笔试题目分享:
KPMG招聘笔试题
箭牌精选笔试题
天津中兴软件笔试题
PPS2015校园招聘笔试真题