2.6.1节练习

作者:源力解离 更新时间:2018/3/6 14:35:25 字数:464

2.6.1节练习

练习2.39:编译下面的程序观察其运行结果,注意,如果忘记写类定义体后面的分号发生什么情况?记录下相关信息,以后可能会有用。

strucr Foo { /* 此处为空*/ } // 注意:没有分号

int main()

{

return 0;

}

出题思路:本题旨在考查类定义的语句规范,尤其要注意类体结束之后的分号必不可少。

解答:

该程序无法编译通过,原因是缺少了一个分号。因为类体后面可以紧跟变量名以示对该类型对象的定义,所以在类体右侧表示结束的花括号之后必须写一个分号。稍作修改,该程序就可以编译通过了。

struct Foo { /* 此处为空*/ };

int main()

{

return 0;

}

练习2.40:根据自己的理解写出Sales_data类,最后与书中的例子有所区别。

出题思路:类的设计源于实际应用,设计Sales_data类的关键是理解在销售过程中应该包含哪些数据元素,同时为每个元素设定合理的数据类型。

解答:

原书中的程序包含3个数据成员,分别是bookNO(书籍编号)、units_sold(销售量)、revenue(销售收入),新设计的Sales_data类细化了销售收入的计算方式,在保留bookNO和units_sold的基础上,新增了sellingprice(零售价、原价)、saleprice(实售价、折扣价)、discount(折扣),其中discount=saleprice/sellingprice。

struct Sales_data {

std::string booNO; // 书籍编号

unsigned units_sold = 0; // 销售量

double sellingprice = 0.0; // 零售价

double saleprice = 0.0; // 实售价

double discount = 0.0 // 折扣

};


设置
阅读主题:
字体大小:
字体格式:
简体 繁体
页面宽度:
手机阅读
菠萝包轻小说

iOS版APP
安卓版APP

扫一扫下载