#include"EAN.h"
class Order{
private:
EAN ean_object;
int no_copies;
int no_delivered;
public:
Order();
Order(const EAN& ean);
EAN& getEAN();
int outstanding() const;
bool add(std::istream& is);
bool add(int n);
bool receive(std::istream& is);
void display(std::ostream& os) const;
};
std::ostream& operator<<(std::ostream& os, const Order& order);
这是我的头文件。当我将EAN& getEAN()
函数定义为Order::EAN& getEAN()
时。它显示错误,因为EAN
类中没有类型名称Order
?如何定义?
答案 0 :(得分:4)
当我将
时EAN& getEAN()
函数定义为Order::EAN& getEAN()
您必须将其定义为:
EAN& Order::getEAN()
换句话说,getEAN()
是类Order
中的一个函数。说EAN
是Order
类的成员是错误的。
答案 1 :(得分:1)
我认为你的意思是
EAN& Order::getEAN() { /* ... */ }
而不是
Order::EAN& getEAN() { /* ... */ }
即成员函数getEAN本身确实在类Order中声明,而类型EAN未在类Order中定义,尽管它在类Order定义中使用。