【发布时间】:2019-07-16 03:48:06
【问题描述】:
我有两个.h 文件,基类linkedListType 和派生类unorderedLinkedList。出于某种原因,它不会让我从我的 unorderedLinkedList 类中创建一个对象。我还在整个程序中使用模板。
#include <iostream>
#include "unorderedLinkedList.h"
using namespace std;
int main()
{
unorderedLinkedList<int> list, subList;
int num;
cout << "Enter numbers ending with -999" << endl;
cin >> num;
}
#pragma once
#define UNORDEREDLINKEDLIST_H
#ifndef UNORDEREDLINKEDLIST_H
#include "linkedList.h"
#include <iostream>
using namespace std;
//creates class type unorderedLinkedList
template <class Type>
class unorderedLinkedList : public linkedListType<Type>
{
public:
bool search(const Type& searchItem) const;
//function to determine wether searchItem is in the list
void insertFirst(const Type& newItem);
};
#endif
#pragma once
#define LINKEDLISTTYPE_H
#ifndef LINKEDLISTTYPE_H
#include <iostream>
#include <cassert>
using namespace std;
template<class Type>
class linkedListType
{
public:
void divideMid(linkedListType<Type>& sublist);
// divide list
const linkedListType<Type>& operator=(const linkedListType<type>&);
// overload the assignment operator.
void initializeList();
};
#endif
【问题讨论】:
-
你先
#define UNORDEREDLINKEDLIST_H,然后然后检查它是否未定义。当然它实际上是定义的——你刚刚在上面一行定义了它。于是整个标题被跳过。