1. 假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数为()
A. 3 B. 4 C. 5 D. 9
答案:B
解析:(P79)a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它
分配空间,没有调用构造函数。所以共调用构造函数的次数为4。
2. 如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A. a.operator++(1) B. operator++(a) C. operator++(a,1) D. a.operator++()
答案:D
解析:(P186)运算符的重载,前缀先让变量变化。调用++a,等价为a.operator++(),注意无参
的形式。后缀的话a++,等价于a.operator(0),带形参,形参名可省。
3.
内联函数
特征代码少,频繁调用,执行效率高。
重载函数
解决统一接口的问题;
递归
子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是
从形式上,逻辑比较简洁。
嵌套函数
反复调用,速度较慢。