练习7.16、7.17、7.18、7.19

7.16:在类的定义中对于访问说明符出现的位置和次数有限定吗?如果有,是什么?说明样的成员应该定义在public说明符之后?什么样的成员应该定义在private说明符之后?

Ans:访问说明符出现的次数和位置没有限定,可以是0个也可以是多个,在说明符出现的位置往后的代码都是指定了说明符的访问权限,知道遇到下一个访问说明符或者类的结尾位置。

当一个成员是作为类的使用者可以直接使用的接口这时候应该定义在public说明符之后,类的一些具体实现细节比如说数据成员以及具体实现部分的函数,不需要让类的使用者知道定义在private说明符之后。

7.17:使用class和struct时有区别吗?如果有,为什么?

Ans:有区别。使用class定义的类默认权限是private,struct定义的类默认权限是public,也就是说如果想让类的成员都是public权限的,使用struct定义,反之使用class定义类。

7.18:封装是何含义?它有什么用处?

Ans:所谓封装,就是给类内的成员划定访问权限,使得类内的成员对于不同的访问对象呈现出不同的访问级别。它能提供类的安全性,以及整个程序的安全性,实现了接口与具体实现的解耦合(分离)

有两个优点:1)防止用户代码无意间破坏了封装对象的状态。2)被封装的具体实现细节可以随时改变,不需要调整用户级别的代码。

7.19:在你的Person类中,你将把哪些成员声明成public的?哪些声明成private的?解释你这样做的原因。

Ans:将返回姓名和地址以及构造函数的这些成员函数声明成public的,这样是为了让类外的其他函数或者主函数访问,也就是这个类的使用者访问。而把定义的数据成员声明成private的,这些是类里面的具体实现细节,将其隐藏起来,实现封装,防止用户程序无意间修改或者破坏了它们。

猜你喜欢

转载自www.cnblogs.com/Dark-King/p/9501781.html