![](https://csdnimg.cn/release/download_crawler_static/87509796/bg6.jpg)
B. void foo(const char* str);
C. double foo(int x = 4, int);
D. void foo(int, int x = 4);
48. 父类的析构函数在什么时候运行?(B)
A. 在子类的析构函数被调用之前
B. 在子类的析构函数被调用之后
C. 在子类的析构函数被调用之时
D. 以上都不对
49. 下面的这个类定义哪里错了?(C)
class A {
public:
A() {}
~A() {}
virtual int getValue();
int i;
};
A. 没有虚析构函数
B. 没有拷贝构造函数
C. 没有 getValue 函数的实现,但又没有把 getValue 声明为纯虚函数
D. i 应该被声明为私有
50. 关于命名空间,以下说法正确的是(C)
A. 命名空间的声明应该放在头文件里
B. 为代码提供更好的封装
C. 为了阻止大规模代码库中的命名冲突
D. 为了帮助阐明一个类的作用
51. 什么时候应该使用模板?(C)
A. 想要减小可执行程序长度的时候
B. 想要代码运行地更快的时候
C. 当需要为不同的类型多次写同样的代码的时候
D. 当需要确保之后可以重用代码的时候
52. 对于下面的类声明:
class Golfer {
private:
char *fullname;
int games;
int *scores;
public:
Golfer();
Golfer(const char *name, int g = 0);
Golfer(const Golfer &other);
~Golfer();
};
下面各条语句将调用哪些类方法?
Golfer nancy; (A)
Golfer lulu(“Little Lulu”);(B)