错误实在找不出,请帮忙谢谢
#ifndef SALESP_H
#define SALESP_H
class SalesPerson{
public:
SalesPerson();
void getSalesFromUser();
void setSales( int, double );
void printAnnualSales();
private:
double totalAnnualSales();
double sales[ 12 ];
};
#endif
\\这是我定义的类存为salesp.h
#include <iostream>
#include <iomanip>
using namespace std;
#include "salesp.h"
SalesPerson::SalesPerson()
{
for ( int i = 0; i < 12; i++ )
sales[ i ] = 0.0;
}
void SalesPerson::getSalesFromUser()
{
double salesFigure;
for ( int i = 1; i <= 12; i++ )
{
cout << "Enter sales amount for month " << i << ": ";
cin >> salesFigure;
setSales( i, salesFigure );
}
}
void SalesPerson::setSales( int month, double amount )
{
if ( month >= 1 && month <= 12 && amount > 0 )
sales[ month - 1 ] =amount;
else cout << "Invalid month or sales figure" << endl;
}
void SalesPerson::printAnnualSales()
{
cout << setprecision( 2 ) << fixed
<< "\nthe total annual sales are: $"
<< totalAnnualSales() << endl;
}
double SalesPerson::totalAnnualSales()
{
double total = 0.0;
for ( int i = 0; i < 12; i++ )
total += sales[ i ];
return total;
}
\\成员函数的定义存为salesp.cpp
#include "salesp.h"
int main()
{
SalesPerson s;
s.getSalesFromUser();
s.printAnnualSales();
return 0;
}
\\主调用
\\三个文件存在同一目录下编译主调用函数时出错
ompiling...
fig06_11.cpp
Linking...
fig06_11.obj : error LNK2001: unresolved external symbol "public: void __thiscall SalesPerson::printAnnualSales(void)" (?printAnnualSales@SalesPerson@@QAEXXZ)
fig06_11.obj : error LNK2001: unresolved external symbol "public: void __thiscall SalesPerson::getSalesFromUser(void)" (?getSalesFromUser@SalesPerson@@QAEXXZ)
fig06_11.obj : error LNK2001: unresolved external symbol "public: __thiscall SalesPerson::SalesPerson(void)" (??0SalesPerson@@QAE@XZ)
Debug/fig06_11.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
fig06_11.exe - 4 error(s), 0 warning(s)
@.@