返回指向受保护的内部类元素的指针
Returning pointer to protected inner class element
我有一个通用的Linked-List类,其中包含一个保存ListElements(节点)的受保护的内部类。 在我的 Linked-List 类中,我想创建一个函数,该函数返回指向给定参数之前的 List-Element 的指针。 我无法弄清楚如何在通用模板类中正确定义和实现这样的函数。
这是 LinkedList.h 代码。
template <typename Type>
class LinkedList
{
public:
LinkedList();
LinkedList(const LinkedList &src);
~LinkedList();
void insert(const Type &item, int);
void remove();
Type retrieve() const;
int gotoPrior();
int gotoNext();
int gotoBeginning();
void clear();
int empty() const;
void printList();
protected:
class ListElement
{
public:
ListElement(const Type &item, ListElement* nextP):
element(item), next(nextP) {}
Type element;
ListElement* next;
};
ListElement *head;
ListElement *cursor;
};
我想实现这样的功能。请记住:我已经知道如何正确编码函数,我不确定如何在 LinkedList.h 中定义它并在 LinkedList 中实现它.cpp
ListElement *LinkedList::ListElement getPrevious(ListElement *target){
//where a list element inside the list is passed and this returns
//the node previous to that.
}
不能在头文件中声明模板方法,然后在 cpp 文件中实现它。模板方法必须在头文件中实现。您可以在类中声明方法,也可以在文件中进一步实现它们。在类下面实现时,您的示例方法将如下所示
template<typename Type>
LinkedList<Type>::ListElement *LinkedList<Type>::ListElement::getPrevious(ListElement *target){
//...
}
相关文章:
- 在设计 SDK 时,我是否应该在 C++ 头文件中完全隐藏内部类?
- 如何声明由多个线程调用的 C++ DLL 的内部类,而无需导出类
- 从内部类继承
- 如何将枚举类转发声明为模板化类的内部类?
- 从内部类中的方法从包含类调用方法
- 从模板化父类中的派生内部类访问受保护的成员变量
- C++模板类的内部类访问
- 使用类模板的内部类模板专用化模板
- 如何使用包含内部类的类实例有效地从内部类访问成员?
- C++ 如何在外部类中声明的内部类中使用变量
- 在C++中将内部类实现为具有名称空间的独立类有什么好处
- 参数化类的别名(或类型定义)内部类
- 从内部类的析构函数调用虚拟函数
- C++ 将成员函数指针传递给内部类
- 如何将模板指针传递给内部类
- 当向量位于内部类中时,如何删除指向对象的向量指针
- 将此指针作为weak_ptr传递给内部类
- c++中指向自身内部类的指针
- 返回指向受保护的内部类元素的指针
- 内部类——c++,内部类,以及为什么你只能创建成员作为指向它们的指针