C++ 排序列表,实现文件
因此,我正在研究一个问题,这是给定的信息,但无论出于何种原因,它不会编译。我完全是从教科书中复制的,在实现文件中出现了错误,例如const(非成员函数不允许使用类型限定符)和value(成员不可访问)。我猜这只是一个简单的打字错误或是顶部的一些东西,但我想不出来C++ 排序列表,实现文件,c++,compiler-errors,sortedlist,C++,Compiler Errors,Sortedlist,因此,我正在研究一个问题,这是给定的信息,但无论出于何种原因,它不会编译。我完全是从教科书中复制的,在实现文件中出现了错误,例如const(非成员函数不允许使用类型限定符)和value(成员不可访问)。我猜这只是一个简单的打字错误或是顶部的一些东西,但我想不出来 // SPECIFICATION FILE ( itemtype.h ) const int MAX_ITEM = 5 ; enum RelationType { LESS, EQUAL, GREATER } ; cl
// SPECIFICATION FILE ( itemtype.h )
const int MAX_ITEM = 5 ;
enum RelationType { LESS, EQUAL, GREATER } ;
class ItemType // declares class data type
{
public : // 3 public member functions
RelationType ComparedTo ( ItemType ) const;
void Print() const;
void Initialize(int number);
private:
int value;
};
// IMPLEMENTATION FILE ( itemtype.cpp )
// Implementation depends on the data type of value.
#include “itemtype.h”
#include <iostream>
using namespace std;
RelationType ComparedTo ( ItemType otherItem ) const
{
if ( value < otherItem.value )
return LESS ;
else if ( value > otherItem.value )
return GREATER ;
else
return EQUAL ;
}
void Print ( ) const
{ cout << value << endl ;
}
void Initialize ( int number )
{
value = number ;
}
//规范文件(itemtype.h)
const int MAX_ITEM=5;
枚举关系类型{LESS,EQUAL,GREATER};
类ItemType//声明类数据类型
{
public://3公共成员功能
将RelationType与(ItemType)常量进行比较;
无效打印()常量;
无效初始化(整数);
私人:
int值;
};
//实现文件(itemtype.cpp)
//实现取决于值的数据类型。
#包括“itemtype.h”
#包括
使用名称空间std;
RelationType ComparedTo(ItemType otherItem)常量
{
如果(值otherItem.value)
回报更大;
其他的
回报相等;
}
无效打印()常量
{cout有两种可能:要么你的书错了,要么你没有完全复制代码
在类定义之外定义成员函数时,需要告诉编译器它们属于哪个类:
RelationType ItemType::ComparedTo(ItemType otherItem) const
{
// ...
}
// ...
void ItemType::Print() const
{
// ...
}
等等
(从C++的角度来看,类、头文件和实现文件之间没有关系。)您需要告诉方法实现它们属于一个类。例如,“RelationType ItemType::ComparedTo(ItemType otherItem)const”而不是“RelationType ComparedTo(ItemType otherItem)const”