2 laowangmomoda laowangmomoda 于 2016.04.24 20:40 提问

C++primer第五版关于第七章类的一个问题

#include
#include
using namespace std;
struct Sales_data{
Sales_data()=default;
Sales_data(const string &s):bookNo(s){}
Sales_data(const string &s,unsigned n,double p):
bookNo(s),units_sold(n),revenue(p*n) {}
Sales_data(istream &is)
{
read(is,*this);
}
Sales_data &combine(const Sales_data &rhs);
string isbn() const {return bookNo;}
double avg_price() const
{
if(units_sold)
return revenue/units_sold;
else
return 0.0;
}
string bookNo;
unsigned units_sold=0;
double revenue=0.0;
istream &read(istream &is,Sales_data &item);
ostream &print(ostream &os,Sales_data &item);
Sales_data add(Sales_data &lhs,Sales_data &rhs);
};
istream &read(istream &is,Sales_data &item)
{
double price=0;
is>>item.bookNo>>item.units_sold>>price;
item.revenue=price*item.units_sold;
return is;
}
ostream &print(ostream &os,const Sales_data &item)
{
os<<item.isbn()<<' '<<item.units_sold<<' '<<item.revenue<<' '<<item.avg_price();
return os;
}
Sales_data add(const Sales_data &lhs,const Sales_data &rhs)
{
Sales_data sum=lhs;
sum.combine(rhs);
return sum;
}
Sales_data &Sales_data::combine(const Sales_data &rhs)
{
units_sold+=rhs.units_sold;
revenue+=rhs.revenue;
return *this;
}
int main()
{
Sales_data data1;
Sales_data data2("hhhh");
Sales_data data3("hhhh",2,3);
Sales_data data4(cin);
}
这是C++primer第五版的7.11题,编译总是提示错误:[Error] ld returned 1 exit status,实在找不到错误在哪了;
求大神看看代码,告诉我哪里错了,不胜感激!

7个回答

CSDNXIAON
CSDNXIAON   2016.04.24 20:52

C++ primer第五版_类
c++primer第五版第七章练习
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

oyljerry
oyljerry   Ds   Rxr 2016.04.24 21:06

用的什么编译器 是否用新编译器vs试试

u013329580
u013329580   2016.04.25 17:19

Main函数定义为int型的话必须要返回一个值吧,在Main函数最后加一句return 0;试一下

On_The
On_The   2016.04.25 23:08

你这个程序有两个错误:
1、主函数里面要加个 return 0;
2、把这个函数istream &read(istream &is,Sales_data &item)改为istream &Sales_data::read(istream &is,Sales_data &item)

改动后程序可以运行

cainiaodetuibian
cainiaodetuibian   2016.04.27 09:04

![图片说明](http://img.ask.csdn.net/upload/201604/27/1461718914_827893.png)图片说明
看图片,你缺少头文件 还缺少输出输入的定义

cainiaodetuibian
cainiaodetuibian   2016.04.27 09:04

图片说明

cainiaodetuibian
cainiaodetuibian   2016.04.27 09:07

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!