当前位置: 首页 > news >正文

平乡网站建设大冶seo网站优化排名推荐

平乡网站建设,大冶seo网站优化排名推荐,电子商务怎么做网站,wordpress更换style文章目录练习7.1练习7.2练习7.3练习7.4练习7.5练习7.6练习7.7练习7.8练习7.9练习7.10练习7.1 使用2.6.1节定义的Sales_data类为1.6节的交易处理程序编写一个新版本。 #include <iostream> #include <string> using std::cin; using std::cout; using std::endl; us…

文章目录

      • 练习7.1
      • 练习7.2
      • 练习7.3
      • 练习7.4
      • 练习7.5
      • 练习7.6
      • 练习7.7
      • 练习7.8
      • 练习7.9
      • 练习7.10

练习7.1

使用2.6.1节定义的Sales_data类为1.6节的交易处理程序编写一个新版本。

#include <iostream>
#include <string>
using std::cin; using std::cout; using std::endl; using std::string;struct Sales_data
{string bookNo;unsigned units_sold = 0;double revenue = 0.0;
};int main()
{Sales_data total;if (cin >> total.bookNo >> total.units_sold >> total.revenue){Sales_data trans;while (cin >> trans.bookNo >> trans.units_sold >> trans.revenue){if (total.bookNo == trans.bookNo){total.units_sold += trans.units_sold;total.revenue += trans.revenue;}else{cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;total = trans;}}cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;}else{std::cerr << "No data?!" << std::endl;return -1;}return 0;
}

练习7.2

曾在2.6.2节的练习中编写了一个Sales_data类,请向这个类添加combine函数和isbn成员。

#ifndef CP5_ex7_02_h
#define CP5_ex7_02_h#include <string>struct Sales_data
{std::string isbn() const { return bookNo; };Sales_data& combine(const Sales_data&);std::string bookNo;unsigned units_sold = 0;double revenue = 0.0;
};Sales_data& Sales_data::combine(const Sales_data& rhs)
{units_sold += rhs.units_sold;revenue += rhs.revenue;return *this;
}#endif

练习7.3

修改7.1.1节的交易处理程序,令其使用这些成员。

#include "exercise7_2.h"
#include <iostream>
using std::cin; using std::cout; using std::endl;int main()
{Sales_data total;if (cin >> total.bookNo >> total.units_sold >> total.revenue){Sales_data trans;while (cin >> trans.bookNo >> trans.units_sold >> trans.revenue){if (total.isbn() == trans.isbn())total.combine(trans);else{cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;total = trans;}}cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;}else{std::cerr << "No data?!" << std::endl;return -1;}return 0;
}

练习7.4

编写一个名为Person的类,使其表示人员的姓名和地址。使用string对象存放这些元素,接下来的练习将不断充实这个类的其他特征。

#ifndef CP5_ex7_04_h
#define CP5_ex7_04_h#include <string>class Person
{std::string name;std::string address;
};#endif

练习7.5

在你的Person类中提供一些操作使其能够返回姓名和地址。这些函数是否应该是const的呢?解释原因。

#ifndef CP5_ex7_05_h
#define CP5_ex7_05_h#include <string>class Person
{std::string name;std::string address;
public:auto get_name() const -> std::string const& { return name; }auto get_addr() const -> std::string const& { return address; }
};#endif

应该是const的。因为常量的Person对象也需要使用这些函数操作。

练习7.6

对于函数add、read和print,定义你自己的版本。

#ifndef CP5_ex7_06_h
#define CP5_ex7_06_h#include <string>
#include <iostream>struct Sales_data
{std::string const& isbn() const { return bookNo; };Sales_data& combine(const Sales_data&);std::string bookNo;unsigned units_sold = 0;double revenue = 0.0;
};Sales_data& Sales_data::combine(const Sales_data& rhs)
{units_sold += rhs.units_sold;revenue += rhs.revenue;return *this;
}std::istream &read(std::istream &is, Sales_data &item)
{double price = 0;is >> item.bookNo >> item.units_sold >> price;item.revenue = price * item.units_sold;return is;
}std::ostream &print(std::ostream &os, const Sales_data &item)
{os << item.isbn() << " " << item.units_sold << " " << item.revenue;return os;
}Sales_data add(const Sales_data &lhs, const Sales_data &rhs)
{Sales_data sum = lhs;sum.combine(rhs);return sum;
}#endif

练习7.7

使用这些新函数重写7.1.2节练习中的程序。

#include "exercise7_6.h"int main()
{Sales_data total;if (read(std::cin, total)){Sales_data trans;while (read(std::cin, trans)){if (total.isbn() == trans.isbn())total.combine(trans);else{print(std::cout, total) << std::endl;total = trans;}}print(std::cout, total) << std::endl;}else{std::cerr << "No data?!" << std::endl;return -1;}return 0;
}
Footer

练习7.8

为什么read函数将其Sales_data参数定义成普通的引用,而print函数将其参数定义成常量引用?

因为read函数会改变对象的内容,而print函数不会。

练习7.9

对于7.1.2节练习中代码,添加读取和打印Person对象的操作。

#ifndef CP5_ex7_09_h
#define CP5_ex7_09_h#include <string>
#include <iostream>struct Person
{std::string const& getName()    const { return name; }std::string const& getAddress() const { return address; }std::string name;std::string address;
};std::istream &read(std::istream &is, Person &person)
{return is >> person.name >> person.address;
}std::ostream &print(std::ostream &os, const Person &person)
{return os << person.name << " " << person.address;
}#endif

练习7.10

在下面这条if语句中,条件部分的作用是什么?

if (read(read(cin, data1), data2))

read 函数的返回值是 istream 对象,if语句中条件部分的作用是从输入流中读取数据给两个data对象。

http://www.dinnco.com/news/50059.html

相关文章:

  • 阿里巴巴免费做国际网站seo1视频发布会
  • 微网站与手机网站的区别百度优化排名软件
  • 网络营销推广方案前言河北网站优化公司
  • dw做的网站如何让文字换行短视频营销推广方案
  • 把自己做的网页发布到网站登封网络推广公司
  • 广州网站建设推广服务网站设计制作在哪能看
  • eclipse做企业网站经典软文案例和扶贫农产品软文
  • 深圳服务好的网站建设大连做优化网站哪家好
  • 兰州网站推广优化6个好用的bt种子搜索引擎
  • 搭建网站费用百度推广seo效果怎么样
  • 网站购物车怎么做短视频seo询盘获客系统软件
  • 天津网站建设找哪家直通车推广怎么收费
  • 浦东新区专业做网站论文收录网站排名
  • 电子政务网站代码最新做做网站
  • 内蒙古有做购物网站的吗搜索引擎优化宝典
  • 下列( )是计算机网页制作工具seo的优化流程
  • 做qq图片的网站吗怎么做谷歌推广
  • 网站的构建郑州网站建设七彩科技
  • 网站建设实训心得seo成功案例分析
  • 湖北高端网站建设北京网站优化对策
  • 加强住房公积金网站建设百度指数排名
  • 湖南奶茶加盟网站建设深圳知名网络优化公司
  • 7天学会自媒体短视频制作百度seo关键词优化软件
  • 静安网站设计怎么做网络推广优化
  • 济南网站设计建设长春seo主管
  • 关于政府网站建设管理的演讲稿长沙做网站的公司有哪些
  • 织梦软件开发网站模板下载seo网上培训多少钱
  • 公司主页网站制作app推广接单
  • 武汉网站开发培训哪个好些淘宝seo具体优化方法
  • wordpress主题导航菜单长春最专业的seo公司