答案
1、c++兼容c ?
2、c++中使用流进行输出,其中输出到屏幕的对象是
3、对使用关键字new所开辟的动态内存空间,释放时必须使用
4、class成员声明时没有使用private关键字,则默认是
5、如果一个类没有定义任何构造函数 编译期总是会自动生成一个不带参数的构造函数?
6、一个类可以有几个析构函数?
7、int Func(int, int)可以与 double Func(int, int) 构成函数重载?
8、函数参数有默认值,该参数之后的参数都需要有默认值?
9、c++中解决菱形继承冲突的机制是
10、已定义类A并有合法语句 A* p = new A(5) ,那么类A一定有一个显示定义的构造函数?
11、在一个类中,哪些成员可以是多个
12、new和mallco可以互换使用?
13、int id[sizeof(unsigned long)]; 这个对吗?为什么?
14、某文件中定义的静态全局变量(或称静态外部变量)其作用域是
15、引用和指针都可以指向空值?
16、const与 #define的比较: IDE可以对宏定义进行调试?
17、const与constexpr的说法:const是编译期常量?
18、malloc/free 与 new/delete的说法: 由于c++是兼容c语言的,可以使用malloc替换new,free替换delete使用?
19、若数组名作实参而指针变量作形参,函数调用实参传给形参的是?
20、构造函数声明为explicit A(int n),A a{1.0}是正确的?
21、内联函数会做类型检查?
22、“new”in c++ is a?
23、final关键字的作用: 可以修饰类静态方法?
24、c++不允许多继承?
25、const不能修饰哪些信息
26、子类无法访问父类受保护成员?
27、关于类对象成员初始化的顺序说法: 根据类的构造函数参数初始化列表的顺序初始化?
28、虚函数表是在编译时创建的?
29、有继承关系的类,析构函数为什么要定义为虚析构()
30、void print(const int) const; 和 void print(const int); 定义会冲突?
39、关于stl中vector的说法:当空间大小不足时,新分配的空间大小为原空间大小的2倍?
40、set与hash_set的区别:都可以自动进行排序?
42、map[]与find的区别:map[]访问的元素不存在时会插入一个默认值并返回?
45、lambda函数不需要返回值?
46、模板的声明和实现必须放在h文件中?
47、如何禁止隐式转换()
49、父类指针所指向的对象如何安全转换为子类对象
52、模板函数必须要有参数
54、关于模板类特化说法:模板类不允许进行特化?
61、关于NULL和nullptr说法:c++中 NULL是((void *)0)?
62、关于下面代码func(n)可能会有错误,需要std::forward(n)进行传递?
template<class T>
void print(T&& n){
func(n);
}
63、move和forward的说法:move的返回结果是右值?
64、现有如下函数: void print(int, double, float), 使用auto f = bind(print, std::placeholders::_1);能正常转换吗?
65、关于stl中智能指针说法:weak_ptr要lock之后就可以正常使用?
68、在c++11中auto类型不能正确推导auto a[] = {1, 2, 3};?
70、以下add模板函数能够正确编译并且能够完美使用?
template <class T1, class T2>
auto add(T1 a, T2 b) -> decltype(a + b)
{
return a + b;
}
72、请问class D的大小
class A{ int a; };
class B : public A{ int b; };
class C : public A{ int c; };
class D: public B, public C{ int d; };
74、普通函数的优先级比模板函数高?
75、请问class B的大小
class A{ int a; };
class B : virtual public A{ double b; };
76、请问class D的大小
class A{ int a; };
class B : virtual public A{ int b; };
class C : virtual public A{ int c; };
class D: public B, public C{ int d; };
79、关于异常的说法:自定义异常必须继承自std::exception类?
80、有以下类,obj是A类对象,obj的地址为0x7ffdaf91d6bc,请问成员属性c的地址是多少
struct A{ int a; short b; int c; };
81、有以下类,obj是A类对象,obj的地址为0x7ffe86fe18b0,请问成员属性c的地址是多少
struct A{ virtual ~A(){} int a; short b; int c; };
82、对于派生类的构造函数,在定义对象时构造函数的执行顺序为?
83、如果n的地址为0x7ffe0ecd138c,以下代码会输出什么()
int n = 1;
cout << "address 1 = " << &n << endl;
cout << "address 2 = " << &(n++) << endl;
cout << "address 3 = " << &(++n) << endl;
84、以下代码输出信息()
struct A{
void* operator new(size_t sz){
void* o = malloc(sz);
cout << "1";
return o;
}
A(){ cout << "2" << endl; }
A(int a, int b){ cout << "3" << endl; }
};
int main(int argc, char const *argv[]) {
A* p = new A();
return 0;
}
86、关于封装:通过封装,对象的属性都是不可见的?
87、假设A为一个类,那么A的正确的拷贝构造函数的原型声明是A(const A& a);?
88、假设A为一个类,那么A的正确的移动构造函数的原型声明是A(A&& a);?
89、c++中用memset来对类对象清零会清空虚函数表?