アルゴリズムとデータ構造という書籍を買い、下記よりC/C++のソースコードをダウンロードしました。
http://www.sbcr.jp/books/img/takarabako/

以前した質問(CのソースコードをVisual Studio Expressを利用してコンパイル・実行したい)の回答と同様に、

cl list2-6.cpp enter

とすると、

/out:list2-6.exe
list2-6.obj
LINK : fatal error LNK1561: エントリー ポイントを定義しなければなりません。

という表示が出てきて上手くコンパイルできません。
どこで問題が生じているか教えていただけないでしょうか?
ちなみに list2-6.cpp は以下のようなコードです。

// <C++版蔵書検索>
// ※インクルードファイルやmain()関数はC言語版と同じ

// 蔵書クラス
class CBook
{
public:
    char *title;
    char *author;
    int bookID;
    int available;      /* 貸し出し中なら0,そうでなければ1 */

    // 比較演算子のオーバロード
    // sortbook()のなかでCBookどうしを比較
    bool operator<(CBook&book)
    {
        return bookID<book.bookID;
    }
    bool operator>(CBook&book)
    {
        return bookID>book.bookID;
    }
    // int型へのキャストをオーバロード
    // searchbook()のなかでkeyとbookIDを比較
    operator int()
    {
        return bookID;
    }
};

#define N 5

CBook*bookarray[N];     /* 蔵書データのポインタの配列 */

/* 蔵書のデータを初期化する */
void initdata()
{
    int n;

    for(n=0;n<N;++n)
        bookarray[n]=new CBook;

    bookarray[0]->title="book0";
    bookarray[1]->title="book1";
    bookarray[2]->title="book2";
    bookarray[3]->title="book3";
    bookarray[4]->title="book4";

    bookarray[0]->author="author0";
    bookarray[1]->author="author1";
    bookarray[2]->author="author2";
    bookarray[3]->author="author3";
    bookarray[4]->author="author4";

    bookarray[0]->bookID=1000;
    bookarray[1]->bookID=502;
    bookarray[2]->bookID=731;
    bookarray[3]->bookID=628;
    bookarray[4]->bookID=1;

    bookarray[0]->available=1;
    bookarray[1]->available=0;
    bookarray[2]->available=0;
    bookarray[3]->available=1;
    bookarray[4]->available=1;
}

/* 蔵書データのメモリを解放 */
void cleanupdata()
{
    int n;
    for(n=0;n<N;++n)
        delete bookarray[n];
}

/* 本のデータをbookIDの順に昇順でクイックソートする */
void sortbook(int bottom,int top)
{
    int lower,upper;
    CBook *div,*temp;

    if(bottom>=top)
        return;

    div=bookarray[bottom];  /* 適当な基準値を選択 */
    for(lower=bottom,upper=top;lower<upper;)
    {
        // オブジェクトの大小を直接比較
        while(*bookarray[lower]<*div)
            ++lower;
        while(*bookarray[upper]>*div)
            --upper;
        if(lower<upper)
        {
            /* データ(へのポインタ)の順番を入れ替える */
            temp=bookarray[lower];
            bookarray[lower]=bookarray[upper];
            bookarray[upper]=temp;
            ++lower;
            --upper;
        }
    }
    sortbook(bottom,upper);
    sortbook(upper+1,top);
}

/* booksのなかからbookIDがkeyと一致するデータをバイナリサーチで
    検索して,その添え字を返す。見つからなければ-1を返す */
int searchbook(CBook *books[],int size,int key)
{
    int left,mid,right;

    left=0;
    right=size;
    while(left<right)
    {
        mid=(left+right)/2;
        if(*books[mid]<key)     // CBookのbookIDとkey を比較
            left=mid+1;
        else
            right=mid;
    }
    if(*books[left]==key)       // 同上
        return left;

    return -1;      /* 見つからなかった場合 */
}

(追記)

// <C++版蔵書検索>
// ※インクルードファイルやmain()関数はC言語版と同じ

とあるように、この部分のコードが抜けていたのが原因でした。