首页 > 编程 > C++ > 正文

C++Primer第五版 第七章习题答案(51~58)

2019-11-08 00:41:39
字体:
来源:转载
供稿:网友

51:定义为explicit是为了防止隐式的类型转换

int getSize(const std::vector<int>&);//这样的使用是否显得比较迷惑getSize(34);

52:知识点:用户可以直接访问成员、且有独特的初始化语法被称为聚合类,有以下几个特点:

1:所有成员皆public 2:没有定义任何的构造函数 3:没有类内初始值 4:没有基类,也没有虚函数

若想以此方式初始化该类,则需要将原类修改成聚合类,并且成员的顺序需要明确。

53:知识点1:字面值常量类:数据成员都是字面值类型的聚合类(还有其他几个特例)

首先回顾一个知识点2:字面值类型:算术类型、指针、引用,不是字面值类型的有:IO库、String类型 知识点3:字面值常量类的构造函数可以是constexPR,一般来说为空

54:不可以,因为constexpr函数必须有返回值,必须有return语句。

55:是的

56:知识点1:类的静态成员:该成员只需与类的本身有关,而不是与类的对象有关,加上static关键字即可声明,其不与任何实例化对象绑定,但是我们仍然可以使用类作用域运算符访问静态成员。

知识点2:static声明在内部。在外部定义时,不加static.类似与一个全局变量,其初始值必须是常量表达式。 知识点3:静态成员独立于任何对象,其类型可以是它所属的类类型。而非静态成员只能声明为其类的指针或引用

57:加点自己的料就好了

58:rate是否应该被声明为const对象呢?因为其是利率,但是实际情况中它也是可变的吧。而vec也不需要在类内就定义好大小,在另一个.h文件中声明大小就好了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选