单选
下面说法正确的是()
A. C++已有的任何运算符都可以重载
B. const对象只能调用const类型成员函数
C. 构造函数和析构函数都可以是虚函数
D. 函数重载返回值类型必须相同
单选
函数fun的声明为int fun(int *p[4]),以下哪个变量可以作为fun的合法参数()
A. int a[4][4];
B. int **a;
C. int **a[4]
D. int (*a)[4];
单选
下面有关友元函数与成员函数的区别,描述错误的是?
A. 友元函数可以让本类和友元类对象调用
B. 友元函数和类的成员函数都可以访问类的私有成员变量或者是成员函数
C. 类的成员函数是属于类的,调用的时候是通过指针this调用的
D. 友元函数是有关键字friend修饰,调用的时候也是通过指针this调用的
单选
函数参数使用的空间是在()中申请的,malloc或new是在()中申请空间的?
A. 堆,栈
B. 栈,堆
C. 栈, 栈
D. 堆,堆
单选
执行c程序代码“int a=1; int b=0; int c=0; int d=(++a)*(c=1);”,a,b,c,d的值分别为()。
A. 2,0,1,2
B. 1,0,1,1
C. 2,0,1,1
D. 2,0,0,2
单选
下面有关malloc和new,说法错误的是?
A. new 建立的是一个对象, malloc分配的是一块内存.
B. new 初始化对象,调用对象的构造函数,对应的delete调用相应的析构函数,malloc仅仅分配内存,free仅仅回收内存
C. new和malloc都是保留字,不需要头文件支持
D. new和malloc都可用于申请动态内存,new是一个操作符,malloc是是一个函数
单选
派生类中的成员函数可以直接访问基类中的公有成员和什么成员。
A. 私有成员
B. 保护成员
单选
main 函数执行以前,还会执行什么代码?
A. 全局对象的构造函数
B. 全局对象的析构函数
C. 局部对象的构造函数
D. 局部对象的析构函数
#define DOUBLE(x) x+x i = 5*DOUBLE(5)
i 是多少?
A. 30
B. 50
C. 100
D. 语法错误
单选
.h头文件中的ifndef/define/endif 的作用?
A. 防止重复引用
B. 规范化代码
C. 标志被引用文件内容中可以被共享的代码
D. 以上都不正确
单选
下列哪些函数可以构成重载函数?
(1)int function(int a,int b ,int c);
(2)double function(int a, int b,double c);
(3)int function(int a ,int b)
(4)double function(int a, int b ,int c );
A. (1)(2)(4)
B. (1)(3)(4)
C. (1)(2)(3)
D. (1)(4)
单选
#include <filename.h> 和 #include“filename.h” 有什么区别?
A. 没有区别
B. 前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件
C. 前者用来包含自己编写的头文件,后者用来包含开发环境提供的库头文件
单选
有下面一段代码:
char szMsisdn[MAX_LEN_MSISDN-1];
szMsisdn[sizeof(szMsidn)]=’\0’;
则对执行以上代码后,会出现什么问题?
A. 没有问题
B. 数组越界
C. 赋值错误
D. 忘记加地址运算符&
单选
int func(int a){ int b;
switch(a){ case 1:b=100;
case 2:b=200;
case 3:b=250;
default:b=0;
} return b;
}
func(1)的值是多少?
A. 100
B. 200
C. 250
D. 0
单选
对于一个频繁使用的短小函数,在C语言中用宏实现,在C++中应用什么实现?
A. 虚函数
B. 内联函数
C. 友元
D. 抽象类
单选
下述有关虚函数和纯虚函数说法错误的是?
A. 被virtual关键字修饰的成员函数,就是虚函数
B. 在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funtion1()=0
C. 同时含有纯虚拟函数的类称为抽象类,它可以被实例化,但是对象不可以调用纯虚函数
D. 使用纯虚函数的意义是在很多情况下,基类本身生成对象是不合情理的
单选
一个没有拷贝构造函数和重载=运算符的string类,会出现什么问题?
A. string类不能正常赋值
B. string a("abc"); string b = a;两个对象会指向同样的内存地址。在两个对象的析构函数中,我们会对同一个内存块调用两次删除,导致不确定的结果。
C. 一个string不可以赋值给另外一个string
D. 没有问题
单选
假设某C工程包含a.c和b.c两个文件,在a.c中定义了一个全局变量foo, 在b.c中想访问这一变量时该怎么做?
A. 在b.c中同样定义同名的foo
B. a.c中声明时extern int foo
C. b.c中声明时extern int foo
D. 在一个工程中就可以访问到,不用做任何操作