Сортированный список, файл реализации

Так что я работаю над проблемой, и это дается информация, но по какой-то причине она не будет компилироваться. Я скопировал точно из учебника, и я получаю ошибки в файле реализации, такие как const (квалификатор типа не разрешен для функции, не являющейся членом) и значение (член недоступен) Я предполагаю, что это просто опечатка или что-то в верхней части, но я не могу понять это.

 //  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  ;
}

0

Решение

Есть две возможности: либо ваша книга неверна, либо вы не скопировали код именно так.

Когда функции-члены определены вне определения класса, вам нужно сообщить компилятору, к какому классу они принадлежат:

RelationType ItemType::ComparedTo(ItemType otherItem)  const
{
// ...
}

// ...

void ItemType::Print() const
{
// ...
}

и так далее.

(Между классом, файлом заголовка и реализацией нет никакой точки зрения с точки зрения C ++.)

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]