Linux下一直显示undefined reference to 异常,在eclipse下就没有有关问题。

Linux下一直显示undefined reference to 错误,在eclipse下就没有问题。。。

#include"DiscItem.hh"

double DiscItem::net_price(size_t cnt) const
{
        std::cout<<cnt<<std::endl;
        if(cnt>min_qty)
        {
             return min_qty*price*discount*price+(cnt-min_qty)*price;
        }
        else
                return price*cnt;

}

std::istream&operator>>(std::istream &is,DiscItem &rhs)
{
        is>>(BaseItem &)rhs>>rhs.min_qty>>rhs.discount;
        return is;
}

std::ostream&operator<<(std::ostream &os,const DiscItem &rhs)
{
         os<<(BaseItem &)rhs<<" "<<rhs.min_qty<<" "<<rhs.discount;
         return os;
}



#ifndef DISCITEM_H
#define DISCITEM_H

#include"BaseItem.hh"
class DiscItem : public BaseItem
{
        public:
                friend std::istream&operator>>(std::istream &is,DiscItem &rhs);
                friend std::ostream&operator<<(std::ostream &os,const DiscItem &rhs);
                DiscItem(const std::string book="",double Sales_price=0.0,int num=0,double discrate=0.0):BaseItem(book,Sales_price),min_qty(num),discount(discrate){};
                DiscItem(const DiscItem &rhs):BaseItem(rhs),min_qty(rhs.min_qty),discount(rhs.discount){};
                DiscItem &operator=(const DiscItem &rhs);
                virtual double net_price(size_t cnt) const{};
                ~DiscItem(){}
        private:
                int min_qty;
                double discount;
};

#endif



#include<iostream>
#include"BaseItem.hh"
#include"DiscItem.hh"
using namespace std;

int main(void)
{
        DiscItem p;
        cin>>p;
        cout<<p;
        return 0;
}


Linux下一直显示undefined reference to 异常,在eclipse下就没有有关问题。
运行后一直显示:麻烦各位支支招呗。网上找的方法不行
------解决思路----------------------
你除了main.cc,是不是还有其他文件?

gcc -o main *.cc