1.给定声明 const char * const * pp; 下列操作或说明正确的是 A
A pp++
B (*pp)++
C (*pp) = \c\;
D 以上都不对
解:相当于(char const) ( const) *pp
**p是char型常量
*p是char const *型常量
p是char const *const型变量
2.c++定义一个空的类CTest,CTest没有定义任何成员变量和成员函数,在32位机器上,以下结论正确的有 BC
A 对该类求sizeof,结果为0.
B 给CTest添加构造函数,再对CTest求sizeof,结果为1.
C 给CTest添加虚函数,再对CTest求sizeof,结果为4.
D 给CTest添加虚函数,再对CTest求sizeof,结果为5.
解:
(1)空类的大小是1,空类的实例大小就是类的大小。如果实例的指针,则sizeof(a)就是指针的大小即4
(2)虚函数,在32位上是4,64位上是8
(3)虚函数指针大小是4
以上单位均为字节
3.虚析构函数的作用是 delete动态对象时释放资源
4.值类型的变量赋值只是进行数据复制,创建一个同值的新对象,而引用类型变量赋值,仅仅是把对象的引用的指针赋值给变量,使它们共用一个内存地址