C++的中使用函数的文件如何找到函数定义

头文件#ifndefSALES_ITEM_H_INCLUDED#defineSALES_ITEM_H_INCLUDED#include<iostream>#include... 头文件

#ifndef SALES_ITEM_H_INCLUDED
#define SALES_ITEM_H_INCLUDED
#include <iostream>
#include <string>

class Sales_item
{
public:
std::istream& input(std::istream& in);
std::ostream& output(std::ostream& out) const;
double avg_price()const;
bool same_isbn(const Sales_item &rhs)const
{
return isbn==rhs.isbn;
}
Sales_item():units_sold(0),revenue(0.0){}

private:
std::string isbn;
unsigned units_sold;
double revenue;
};

#endif // SALES_ITEM_H_INCLUDED
对类成员函数定义的源文件
#include "Sales_item.h"
std::istream& Sales_item::input(std::istream& in)
{
double price;
in>>isbn>>units_sold>>price;
//检验是否读入成功
if(in)
revenue=units_sold*price;
else{
units_sold=0;
revenue=0.0;
}
return in;
}

double Sales_item::avg_price() const
{
if(units_sold)
return revenue/units_sold;
else
return 0;
}
std::ostream& Sales_item::output(std::ostream& out) const
{
out<<isbn<<"\t"<<units_sold<<"\t"
<<revenue<<"\t"<<avg_price();
return out;
}
主函数源文件
#include "Sales_item.h"
#include <iostream>
using namespace std;

int main()
{
Sales_item item;

//读入并输出一组交易
cout<<"Enter some transactions(Ctrl +Z to end):"
<<endl;
while(item.input(cin)){
cout<<"The transaction readed is:"<<endl;
item.output(cout);
cout<<endl;
}
return 0;
}
出现两个错误
E:\C++练习\C++primer\第七章\7.31.o:7.31.cpp|| undefined reference to `Sales_item::output(std::ostream&) const'|
E:\C++练习\C++primer\第七章\7.31.o:7.31.cpp|| undefined reference to `Sales_item::input(std::istream&)'|
也就是没有找到主函数的定义,求大神指教
展开
 我来答
百度网友0f37b28
2014-03-29 · TA获得超过225个赞
知道小有建树答主
回答量:107
采纳率:100%
帮助的人:80.7万
展开全部
这是由链接器完成的工作,连接器会在你指定目录或默认目录下查找与头文件名一致的cpp文件,然后进行编译链接,形成可执行程序。
更多追问追答
追问
那我的三个文件都放在同一个文件夹,还是没有编译通过呢
追答
为什么没有通过编译,你检查了你其他的cpp文件是正确的吗?
刘老师法律在线
高能答主

2015-08-31 · 为各位题主提供贴心的法律援助
刘老师法律在线
采纳数:7701 获赞数:90241

向TA提问 私信TA
展开全部
一般为了安全性,只在头文件中进行声明,在其它文件中进行定义。

简单例子实现输出两个数据:
/*在text。h头文件中进行声明*/
#include
using namespace std;
void display(int,int);/*使用该函数来实现输出*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式