- 14
- 0
- 约1.18万字
- 约 14页
- 2017-05-28 发布于湖北
- 举报
第十二章类和数据抽象课案
第十二章 类和数据抽象
12.1 编写一个名为person的类,表示人的名字和地址,使用string来保存每个元素。
答:
class person
{
public:
person( string pName, string pAddress )
{
name = pName;
address = pAddress;
}
private:
string name;
string address;
};
12.2 为person提供一个接收两个string参数的构造函数。
见第一题。
12.3 提供返回名字和地址的操作。这些函数应为const吗?解释你的选择。
在public里添加成员函数:
string get_name() const
{
return name;
]
string get_address() const
{
return address;
]
这两个成员函数不应该修改其操作的对象的数据成员的值,应该声明为const类型。
12.4 指明person的哪个成员应声明为public,哪个成员应声明为private。解释。
数据成员name和address应为private, 保证只能被类的成员所用,外界不可访问。成员函数get_name()和get_address() 应声明为public,为外界提供接口访问类的数据成员。构造函数也应声明为public,以便初始化类的对象。
12.5 C++类支持哪些访问标号? 在每个访问标号之后应定义哪种成员?如果有的话,在类的定义中,一个访问标号可以出现在何处以及可出现多少次?约束条件是什么?
有 public, private, protect。public后定义可被外界访问的接口,private后定义只能被本类成员函数使用的成员;protect后定义的成员称为受保护成员,只能由本类及本类的子类访问。
访问标号可以出现在任意成员定义之前且次数没有限制。
约束条件是:每个访问标号指定了随后的成员定义级别,这个级别持续有效,直到下一个访问标号出现,或者看到类定义体的右花括号为止。
12.6 用class关键字定义的类和用struct定义的类有什么不同。
默认访问标号不同,用struct关键字定义的,在第一个访问标号之前的成员是共有的,如果是用class关键字定义的,在第一个访问标号之前的成员是private成员。
12.7 什么事封装? 为什么封装是有用的?
封装是一种将低层次的元素组合起来形成新的、高层次实体的技术。例如,函数是封装的一种形式:函数所执行的细节行为被封装在函数本身这个更大的实体中。被封装的元素隐藏了它们的实现细节,可以调用一个函数但不能访问它所执行的语句,同样类也是一个封装的实体:它代表若干成员的聚集,大多数类类型隐藏了实现该类型的成员。
封装隐藏了内部元素的实现细节,提供了优点:避免类内部出现无意的 可能破坏对象状态的用户级错误;在修改类的实现时不需要修改用户级代码,这些都很有用。
12.8 将sales_item::avg_price定义为内联函数。
inline double sales_item::avr_price() const
{
if ( units_sole )
return revenue/units_sold;
else return 0;
}
12.9 修改本节中给出的screen类,给出一个构造函数,根据屏幕的高度、宽度和内容的值来创建screen。
class Screen
{
public:
typedef std::string::size_type index;
Screen( index hei, index wid , string content )
{
contents = content;
height = hei;
width = wid;
}
private:
std::string contents;
index cursor;
index height, width;
};
12.10 解释下述类中的每个成员:
class Record {
typedef std::size_t size;
Record(): byte_count(0) {}
Record(size s): byte_count(s) { }
Record(std::stirng s): name(s), byte_count(0) {}
size byte_count;
std::string name;
public:
size get_count() const { return byte_coun
您可能关注的文档
最近下载
- DWBZ-TZ1普速铁路通信线路维修.pdf VIP
- DWBZ-TZ1普速铁路通信线路维修【作业指导书】.pdf VIP
- 普速铁路工务安全规则及探伤相关知识试卷.doc VIP
- 普速铁路接触网运行维修规则.pdf VIP
- 普速铁路接触网运行维修规则.pptx VIP
- 2026四川成都经开建工集团有限公司招聘项目制工作人员6人备考题库附参考答案详解(b卷).docx VIP
- 管家婆期期准免费资料.docx VIP
- 铁路信号维护规则管理.docx VIP
- 2026四川成都经开建工集团有限公司招聘项目制工作人员6人备考题库完整参考答案详解.docx VIP
- 2026四川成都经开建工集团有限公司招聘项目制工作人员6人备考题库及参考答案详解.docx VIP
原创力文档

文档评论(0)