我有两个类,linkedList和orderedLinkedList。有序的LinkedList继承自linkedList,如下所示。
template<class Type> //definition of node
struct node
{
Type info;
node<Type> *link;
};
template<class Type>
class linkedList
{
protected:
int count; // no. of elements in the list
node<Type> *first; // pointer to the first node
node<Type> *last; // pointer to the last node
public:
// some functions
}
template<class Type>
class orderedLinkedList: public linkedList<Type>
{
public:
// some functions
};
据我所知,受保护的成员可以在定义它们的类中以及从该类继承的类中访问。但是,弹出编译时错误说:使用未声明的标识符&#39; first&#39;在以下功能中。
template<class Type>
bool orderedLinkedList<Type>::search(const Type& x) const
{
node<Type> *p;
p = first; // <- Use of undeclared identifier 'first'
while (p != NULL && p->info < x)
p = p->link;
return (p != NULL && p->info == x);
}
我尝试将指针首先公开,但它也不起作用。有没有什么基础我没有得到继承?提前谢谢。