1)选C
C错,类中不能声明正在定义的类,
D v4是指向int类型的指针
2)选D
C正确,就是这样的,
D 错误,
静态数据成员对于所有类对象来说只有一份
因此不能在类体内随着每个类对象的初始化而初始化
而是需要在全局数据空间中进行单独的初始化
并且只能存在一份实例
3)选B
拷贝构造函数在以下三种情况下会被调用:
情况一:当用类的一个对象去初始化该类的另一个对象时。
情况二:如果函数的形参是类的对象,调用函数时,进行形参和实参结合时;
情况三:如果函数的返回值是类的对象,函数执行完成返回调用者时。
B赋予应该说的是=吧,要重载了=才能使用,所以用的不是拷贝构造函数
4)选D
A静态数据成员需要在全局数据空间中进行单独的初始化
B和C都可以的
D是正确的
5)选A
在C++中,const对象只能调用const成员函数
A对的,BD如果不是const成员函数的话就不能调用
C常对象的意思是一旦初始化便不允许修改.而不是说对象的数据成员是常数据成员, const对象里可以不是const成员的
1C
BB类型都还没有定义完整,怎么能在其内部定义BB类型呢?v2是AA*类型的,AA类型有声明,就可以定义该类型的指针。
2 D
类的静态成员是属于这个类的,而不是属于某一个类变量的,C++规定const静态类成员可以直接初始化,其他非const的静态类成员需要在类声明以外初始化。
3 B
百度百科,拷贝构造函数 这一词条有详细解释
4 D
静态数据成员是属于这个类的,所以可以用类名来调用。A选项前面已经说过了,B,C显然不对。
5 A
const对象,就是告诉你这个对象不可改变,因此在C++中,const对象只能调用const成员函数。(这是规定),B,C明显不对,D选项违反了规定。