100% found this document useful (3 votes)
304 views

(eBook PDF) Starting Out with C++: From Control Structures through Objects 8th Editioninstant download

The document is an eBook listing for various editions of programming books focused on C++ and Java, including 'Starting Out with C++: From Control Structures through Objects' and its brief version. It provides links for instant download and additional resources for learning programming concepts. The contents outline a comprehensive curriculum covering topics from basic programming principles to advanced data structures and object-oriented programming.

Uploaded by

jednohoyem96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
304 views

(eBook PDF) Starting Out with C++: From Control Structures through Objects 8th Editioninstant download

The document is an eBook listing for various editions of programming books focused on C++ and Java, including 'Starting Out with C++: From Control Structures through Objects' and its brief version. It provides links for instant download and additional resources for learning programming concepts. The contents outline a comprehensive curriculum covering topics from basic programming principles to advanced data structures and object-oriented programming.

Uploaded by

jednohoyem96
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

(eBook PDF) Starting Out with C++: From Control

Structures through Objects 8th Edition instant


download

https://ebooksecure.com/product/ebook-pdf-starting-out-with-c-
from-control-structures-through-objects-8th-edition/

Download more ebook from https://ebooksecure.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebooksecure.com
to discover even more!

(eBook PDF) Starting Out with C++: From Control


Structures through Objects, Brief Version 8th Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-c-
from-control-structures-through-objects-brief-version-8th-
edition/

(eBook PDF) Starting Out with Java: From Control


Structures through Objects, 7th Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-java-
from-control-structures-through-objects-7th-edition/

(eBook PDF) Starting Out with C++ from Control


Structures to Objects 9th Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-c-
from-control-structures-to-objects-9th-edition/

(eBook PDF) Starting Out with Java: From Control


Structures through Data Structures 3rd Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-java-
from-control-structures-through-data-structures-3rd-edition/
(eBook PDF) Starting Out with Java: From Control
Structures through Data Structures 4th Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-java-
from-control-structures-through-data-structures-4th-edition/

(eBook PDF) Starting Out with C++: Early Objects 9th


Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-c-
early-objects-9th-edition/

Starting Out with C++: Early Objects 9th Edition by


Tony Gaddis (eBook PDF)

http://ebooksecure.com/product/starting-out-with-c-early-
objects-9th-edition-by-tony-gaddis-ebook-pdf/

(eBook PDF) Starting Out with Java: Early Objects 5th


Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-java-
early-objects-5th-edition/

(eBook PDF) Starting Out with Java: Early Objects 5th


Global Edition

http://ebooksecure.com/product/ebook-pdf-starting-out-with-java-
early-objects-5th-global-edition/
Contents

Preface xv

CHAPTER 1 Introduction to Computers and Programming 1


1.1 Why Program? 1
1.2 Computer Systems: Hardware and Software 2
1.3 Programs and Programming Languages 8
1.4 What Is a Program Made of? 14
1.5 Input, Processing, and Output 17
1.6 The Programming Process 18
1.7 Procedural and Object-Oriented Programming 22

CHAPTER 2 Introduction to C++ 27


2.1 The Parts of a C++ Program 27
2.2 The cout Object 31
2.3 The #include Directive 36
2.4 Variables and Literals 37
2.5 Identifiers 41
2.6 Integer Data Types 42
2.7 The char Data Type 48
2.8 The C++ string Class 52
2.9 Floating-Point Data Types 54
2.10 The bool Data Type 57
2.11 Determining the Size of a Data Type 58
2.12 Variable Assignments and Initialization 59
2.13 Scope 61
2.14 Arithmetic Operators 61
2.15 Comments 69
2.16 Named Constants 71
2.17 Programming Style 73

vii
viii Contents

CHAPTER 3 Expressions and Interactivity 83


3.1 The cin Object 83
3.2 Mathematical Expressions 89
3.3 When You Mix Apples and Oranges: Type Conversion 98
3.4 Overflow and Underflow 100
3.5 Type Casting 101
3.6 Multiple Assignment and Combined Assignment 104
3.7 Formatting Output 108
3.8 Working with Characters and string Objects 118
3.9 More Mathematical Library Functions 124
3.10 Focus on Debugging: Hand Tracing a Program 130
3.11 Focus on Problem Solving: A Case Study 132

CHAPTER 4 Making Decisions 149


4.1 Relational Operators 149
4.2 The if Statement 154
4.3 Expanding the if Statement 162
4.4 The if/else Statement 166
4.5 Nested if Statements 169
4.6 The if/else if Statement 176
4.7 Flags 181
4.8 Logical Operators 182
4.9 Checking Numeric Ranges with Logical Operators 189
4.10 Menus 190
4.11 Focus on Software Engineering: Validating User Input 193
4.12 Comparing Characters and Strings 195
4.13 The Conditional Operator 199
4.14 The switch Statement 202
4.15 More About Blocks and Variable Scope 211

CHAPTER 5 Loops and Files 227


5.1 The Increment and Decrement Operators 227
5.2 Introduction to Loops: The while Loop 232
5.3 Using the while Loop for Input Validation 239
5.4 Counters 241
5.5 The do-while Loop 242
5.6 The for Loop 247
5.7 Keeping a Running Total 257
5.8 Sentinels 260
5.9 Focus on Software Engineering: Deciding Which Loop to Use 261
5.10 Nested Loops 262
5.11 Using Files for Data Storage 265
5.12 Optional Topics: Breaking and Continuing a Loop 284

CHAPTER 6 Functions 299


6.1 Focus on Software Engineering: Modular Programming 299
6.2 Defining and Calling Functions 300
6.3 Function Prototypes 309
6.4 Sending Data into a Function 311
Contents ix

6.5 Passing Data by Value 316


6.6 Focus on Software Engineering: Using Functions in a
Menu-Driven Program 318
6.7 The return Statement 322
6.8 Returning a Value from a Function 324
6.9 Returning a Boolean Value 332
6.10 Local and Global Variables 334
6.11 Static Local Variables 342
6.12 Default Arguments 345
6.13 Using Reference Variables as Parameters 348
6.14 Overloading Functions 354
6.15 The exit() Function 358
6.16 Stubs and Drivers 361

CHAPTER 7 Arrays 375


7.1 Arrays Hold Multiple Values 375
7.2 Accessing Array Elements 377
7.3 No Bounds Checking in C++ 384
7.4 Array Initialization 387
7.5 The Range-Based for Loop 392
7.6 Processing Array Contents 396
7.7 Focus on Software Engineering: Using Parallel Arrays 404
7.8 Arrays as Function Arguments 407
7.9 Two-Dimensional Arrays 418
7.10 Arrays with Three or More Dimensions 425
7.11 Focus on Problem Solving and Program Design: A Case Study 427
7.12 If You Plan to Continue in Computer Science: Introduction to the
STL vector 429

CHAPTER 8 Searching and Sorting Arrays 457


8.1 Focus on Software Engineering: Introduction to Search Algorithms 457
8.2 Focus on Problem Solving and Program Design: A Case Study 463
8.3 Focus on Software Engineering: Introduction to Sorting Algorithms 470
8.4 Focus on Problem Solving and Program Design: A Case Study 477
8.5 If You Plan to Continue in Computer Science: Sorting and
Searching vectors 485

CHAPTER 9 Pointers 495


9.1 Getting the Address of a Variable 495
9.2 Pointer Variables 497
9.3 The Relationship Between Arrays and Pointers 504
9.4 Pointer Arithmetic 508
9.5 Initializing Pointers 510
9.6 Comparing Pointers 511
9.7 Pointers as Function Parameters 513
9.8 Focus on Software Engineering: Dynamic Memory Allocation 522
9.9 Focus on Software Engineering: Returning Pointers from Functions 526
9.10 Using Smart Pointers to Avoid Memory Leaks 533
9.11 Focus on Problem Solving and Program Design: A Case Study 536
x Contents

CHAPTER 10 Characters, C-Strings, and More About the string Class 547
10.1 Character Testing 547
10.2 Character Case Conversion 551
10.3 C-Strings 554
10.4 Library Functions for Working with C-Strings 558
10.5 C-String/Numeric Conversion Functions 569
10.6 Focus on Software Engineering: Writing Your Own
C-String-Handling Functions 575
10.7 More About the C++ string Class 581
10.8 Focus on Problem Solving and Program Design: A Case Study 590

CHAPTER 11 Structured Data 599


11.1 Abstract Data Types 599
11.2 Focus on Software Engineering: Combining Data into Structures 601
11.3 Accessing Structure Members 604
11.4 Initializing a Structure 608
11.5 Arrays of Structures 611
11.6 Focus on Software Engineering: Nested Structures 613
11.7 Structures as Function Arguments 617
11.8 Returning a Structure from a Function 620
11.9 Pointers to Structures 623
11.10 Focus on Software Engineering: When to Use ., When to Use ->,
and When to Use * 626
11.11 Unions 628
11.12 Enumerated Data Types 632

CHAPTER 12 Advanced File Operations 657


12.1 File Operations 657
12.2 File Output Formatting 663
12.3 Passing File Stream Objects to Functions 665
12.4 More Detailed Error Testing 667
12.5 Member Functions for Reading and Writing Files 670
12.6 Focus on Software Engineering: Working with Multiple Files 678
12.7 Binary Files 680
12.8 Creating Records with Structures 685
12.9 Random-Access Files 689
12.10 Opening a File for Both Input and Output 697

CHAPTER 13 Introduction to Classes 711


13.1 Procedural and Object-Oriented Programming 711
13.2 Introduction to Classes 718
13.3 Defining an Instance of a Class 723
13.4 Why Have Private Members? 736
13.5 Focus on Software Engineering: Separating Class Specification
from Implementation 737
13.6 Inline Member Functions 743
13.7 Constructors 746
13.8 Passing Arguments to Constructors 750
Contents xi

13.9 Destructors 758


13.10 Overloading Constructors 762
13.11 Private Member Functions 765
13.12 Arrays of Objects 767
13.13 Focus on Problem Solving and Program Design: An OOP Case Study 771
13.14 Focus on Object-Oriented Programming: Simulating Dice with Objects 778
13.15 Focus on Object-Oriented Programming: Creating an Abstract Array
Data Type 782
13.16 Focus on Object-Oriented Design: The Unified Modeling Language (UML) 785
13.17 Focus on Object-Oriented Design: Finding the Classes and Their
Responsibilities 788

CHAPTER 14 More About Classes 811


14.1 Instance and Static Members 811
14.2 Friends of Classes 819
14.3 Memberwise Assignment 824
14.4 Copy Constructors 825
14.5 Operator Overloading 831
14.6 Object Conversion 858
14.7 Aggregation 860
14.8 Focus on Object-Oriented Design: Class Collaborations 865
14.9 Focus on Object-Oriented Programming: Simulating the Game
of Cho-Han 869

CHAPTER 15 Inheritance, Polymorphism, and Virtual Functions 891


15.1 What Is Inheritance? 891
15.2 Protected Members and Class Access 900
15.3 Constructors and Destructors in Base and Derived Classes 906
15.4 Redefining Base Class Functions 918
15.5 Class Hierarchies 923
15.6 Polymorphism and Virtual Member Functions 929
15.7 Abstract Base Classes and Pure Virtual Functions 945
15.8 Multiple Inheritance 952

CHAPTER 16 Exceptions, Templates, and the Standard Template


Library (STL) 971
16.1 Exceptions 971
16.2 Function Templates 990
16.3 Focus on Software Engineering: Where to Start When Defining Templates 996
16.4 Class Templates 996
16.5 Introduction to the Standard Template Library (STL) 1005

CHAPTER 17 Linked Lists 1025


17.1 Introduction to the Linked List ADT 1025
17.2 Linked List Operations 1027
17.3 A Linked List Template 1043
17.4 Variations of the Linked List 1055
17.5 The STL list Container 1056
xii Contents

CHAPTER 18 Stacks and Queues 1063


18.1 Introduction to the Stack ADT 1063
18.2 Dynamic Stacks 1080
18.3 The STL stack Container 1091
18.4 Introduction to the Queue ADT 1093
18.5 Dynamic Queues 1105
18.6 The STL deque and queue Containers 1112

CHAPTER 19 Recursion 1121


19.1 Introduction to Recursion 1121
19.2 Solving Problems with Recursion 1125
19.3 Focus on Problem Solving and Program Design: The Recursive
gcd Function 1133
19.4 Focus on Problem Solving and Program Design: Solving Recursively
Defined Problems 1134
19.5 Focus on Problem Solving and Program Design: Recursive Linked List
Operations 1135
19.6 Focus on Problem Solving and Program Design: A Recursive Binary
Search Function 1139
19.7 The Towers of Hanoi 1141
19.8 Focus on Problem Solving and Program Design: The QuickSort Algorithm 1144
19.9 Exhaustive Algorithms 1148
19.10 Focus on Software Engineering: Recursion vs. Iteration 1151

CHAPTER 20 Binary Trees 1155


20.1 Definition and Applications of Binary Trees 1155
20.2 Binary Search Tree Operations 1158
20.3 Template Considerations for Binary Search Trees 1175

Appendix A: Getting Started with Alice 1185


Appendix B: The ASCII Character Set 1211
Appendix C: Operator Precedence and Associativity 1213
Quick References 1215
Index 1217
Credit 1237

Online The following appendices are available at www.pearsonhighered.com/gaddis.


Appendix D: Introduction to Flowcharting
Appendix E: Using UML in Class Design
Appendix F: Namespaces
Appendix G: Passing Command Line Arguments
Appendix H: Header File and Library Function Reference
Appendix I: Binary Numbers and Bitwise Operations
Appendix J: Multi-Source File Programs
Appendix K: Stream Member Functions for Formatting
Appendix L: Answers to Checkpoints
Appendix M: Solutions to Odd-Numbered Review Questions
LOCATION OF VIDEONOTES IN THE TEXT

Chapter 1 Introduction to Flowcharting, p. 20


Designing a Program with Pseudocode, p. 20
Designing the Account Balance Program, p. 25
Predicting the Result of Problem 33, p. 26
Chapter 2 Using cout, p. 31
Variabe Definitions, p. 37
Assignment Statements and Simple Math Expressions, p. 62
Solving the Restaurant Bill Problem, p. 80
Chapter 3 Reading Input with cin, p. 83
Formatting Numbers with setprecision, p. 111
Solving the Stadium Seating Problem, p. 142
Chapter 4 The if Statement, p. 154
The if/else statement, p. 166
The if/else if Statement, p. 176
Solving the Time Calculator Problem, p. 221
Chapter 5 The while Loop, p. 232
The for Loop, p. 247
Reading Data from a File, p. 274
Solving the Calories Burned Problem, p. 293
Chapter 6 Functions and Arguments, p. 311
Value-Returnlng Functions, p. 324
Solving the Markup Problem, p. 366
Chapter 7 Accessing Array Elements With a Loop, p. 380
Passing an Array to a Function, p. 407
Solving the Chips and Salsa Problem, p. 448
Chapter 8 The Binary Search, p. 460
The Selection Sort, p. 474
Solving the Charge Account Validation Modification Problem, p. 492
Chapter 9 Dynamically Allocating an Array, p. 523
Solving the Pointer Rewrite Problem, p. 545
Chapter 10 Writing a C-String-Handling Function, p. 575
More About the string Class, p. 581
Solving the Backward String Problem, p. 594
(continued on the next page)
LOCATION OF VIDEONOTES IN THE TEXT (continued)

Chapter 11 Creating a Structure, p. 601


Passing a Structure to a Function, p. 617
Solving the Weather Statistics Problem, p. 652
Chapter 12 Passing File Stream Objects to Functions, p. 665
Working with Multiple Files, p. 678
Solving the File Encryption Filter Problem, p. 708
Chapter 13 Writing a Class, p. 718
Defining an Instance of a Class, p. 723
Solving the Employee Class Problem, p. 802
Chapter 14 Operator Overloading, p. 831
Class Aggregation, p. 860
Solving the NumDays Problem, p. 885
Chapter 15 Redefining a Base Class Function in a Derived Class, p. 918
Polymorphism, p. 929
Solving the Employee and Production-Worker Classes Problem, p. 963
Chapter 16 Throwing an Exception, p. 972
Handling an Exception, p. 972
Writing a Function Template, p. 990
Storing Objects in a vector, p. 1010
Solving the Exception Project Problem, p. 1024
Chapter 17 Appending a Node to a Linked List, p. 1028
Inserting a Node in a Linked List, p. 1035
Deleting a Node from a Linked List, p. 1039
Solving the Member Insertion by Position Problem, p. 1061
Chapter 18 Storing Objects in an STL stack, p. 1091
Storing Objects in an STL queue, p. 1114
Solving the File Compare Problem, p. 1119
Chapter 19 Reducing a Problem with Recursion, p. 1126
Solving the Recursive Multiplication Problem, p. 1153
Chapter 20 Inserting a Node in a Binary Tree, p. 1160
Deleting a Node from a Binary Tree, p. 1166
Solving the Node Counter Problem, p. 1182
Preface

Welcome to Starting Out with C++: From Control Structures through Objects, 8th edition.
This book is intended for use in a two-semester C++ programming sequence, or an acceler-
ated one-semester course. Students new to programming, as well as those with prior course
work in other languages, will find this text beneficial. The fundamentals of programming
are covered for the novice, while the details, pitfalls, and nuances of the C++ language are
explored in-depth for both the beginner and more experienced student. The book is written
with clear, easy-to-understand language, and it covers all the necessary topics for an intro-
ductory programming course. This text is rich in example programs that are concise, practi-
cal, and real-world oriented, ensuring that the student not only learns how to implement the
features and constructs of C++, but why and when to use them.

Changes in the Eighth Edition


C++11 is the latest standard version of the C++ language. In previous years, while the stan-
dard was being developed, it was known as C++0x. In August 2011, it was approved by
the International Standards Organization (ISO), and the name of the standard was officially
changed to C++11. Most of the popular compilers now support the C++11 standard.
The new C++11 standard was the primary motivation behind this edition. Although this
edition introduces many of the new language features, a C++11 compiler is not strictly
required to use the book. As you progress through the book, you will see C++11 icons in the
margins, next to the new features that are introduced. Programs appearing in sections that
are not marked with this icon will still compile using an older compiler.
Here is a summary of the new C++11 topics that are introduced in this edition:
● The auto key word is introduced as a way to simplify complex variable definitions.
The auto key word causes the compiler to infer a variable’s data type from its initial-
ization value.
● The long long int and unsigned long long int data types, and the LL literal
suffix are introduced.
● Chapter 5 shows how to pass a string object directly to a file stream object’s open
member function, without the need to call the c_str() member function. (A discus-
sion of the c_str()function still exists for anyone using a legacy compiler.)

xv
xvi Preface

● The range-based for loop is introduced in Chapter 7. This new looping mechanism
automatically iterates over each element of an array, vector, or other collection,
without the need of a counter variable or a subscript.
● Chapter 7 shows how a vector can be initialized with an initialization list.
● The nullptr key word is introduced as the standard way of representing a null
pointer.
● Smart pointers are introduced in Chapter 9, with an example of dynamic memory
allocation using unique_ptr.
● Chapter 10 discusses the new, overloaded to_string functions for converting numeric
values to string objects.
● The string class’s new back() and front() member functions are included in
Chapter 10’s overview of the string class.
● Strongly typed enums are discussed in Chapter 11.
● Chapter 13 shows how to use the smart pointer unique_ptr to dynamically allocate
an object.
● Chapter 15 discusses the override key word and demonstrates how it can help prevent
subtle overriding errors. The final key word is discussed as a way of preventing a virtual
member function from being overridden.
In addition to the C++11 topics, the following general improvements were made:
● Several new programming problems have been added to the text, and many of the
existing programming problems have been modified to make them unique from previ-
ous editions.
● The discussion of early, historic computers in Chapter 1 is expanded.
● The discussion of literal values in Chapter 2 is improved.
● The introduction of the char data type in Chapter 2 is reorganized to use character
literals in variable assignments before using ASCII values in variable assignments.
● The discussion of random numbers in Chapter 3 is expanded and improved, with the
addition of a new In the Spotlight section.
● A new Focus on Object-Oriented Programming section has been added to Chapter 13,
showing how to write a class that simulates dice.
● A new Focus on Object-Oriented Programming section has been added to Chapter 14,
showing an object-oriented program that simulates the game of Cho-Han. The program
uses objects for the dealer, two players, and a pair of dice.

Organization of the Text


This text teaches C++ in a step-by-step fashion. Each chapter covers a major set of topics
and builds knowledge as the student progresses through the book. Although the chapters
can be easily taught in their existing sequence, some flexibility is provided. The diagram
shown in Figure P-1 suggests possible sequences of instruction.
Preface xvii

Figure P-1

Chapter 1
Introduction

Chapters 2–7
Basic Language
Elements

Chapter 8 Chapter 9 Chapter 12


Searching and Pointers Advanced File
Sorting Arrays Operations*

*A few subtopics in
Chapter 12 require
Chapter 10 Chapters 9 and 11.
Characters, Strings, Chapter 11
and the string Class Structures

Chapter 13
Introduction to
Classes

Chapter 14
More About Classes

Chapter 15
Inheritance and
Polymorphism

Chapter 16
Exceptions,
Templates, and STL

Chapter 17
Linked Lists

Chapter 18 Chapter 19
Stacks and Queues Recursion

Chapter 20
Binary Trees
xviii Preface

Chapter 1 covers fundamental hardware, software, and programming concepts. You may
choose to skip this chapter if the class has already mastered those topics. Chapters 2 through
7 cover basic C++ syntax, data types, expressions, selection structures, repetition structures,
functions, and arrays. Each of these chapters builds on the previous chapter and should be
covered in the order presented.
After Chapter 7 has been covered, you may proceed to Chapter 8, or jump to either Chapter
9 or Chapter 12. (If you jump to Chapter 12 at this point, you will need to postpone sections
12.7, 12.8, and 12.10 until Chapters 9 and 11 have been covered.)
After Chapter 9 has been covered, either of Chapters 10 or 11 may be covered. After Chap-
ter 11, you may cover Chapters 13 through 17 in sequence. Next you can proceed to either
Chapter 18 or Chapter 19. Finally, Chapter 20 may be covered.
This text’s approach starts with a firm foundation in structured, procedural programming
before delving fully into object-oriented programming and advanced data structures.

Brief Overview of Each Chapter


Chapter 1: Introduction to Computers and Programming
This chapter provides an introduction to the field of computer science and covers the fun-
damentals of programming, problem solving, and software design. The components of pro-
grams, such as key words, variables, operators, and punctuation are covered. The tools of
the trade, such as pseudocode, flow charts, and hierarchy charts are also presented.

Chapter 2: Introduction to C++


This chapter gets the student started in C++ by introducing data types, identifiers, vari-
able declarations, constants, comments, program output, simple arithmetic operations, and
C-strings. Programming style conventions are introduced and good programming style
is modeled here, as it is throughout the text. An optional section explains the difference
between ANSI standard and pre-standard C++ programs.

Chapter 3: Expressions and Interactivity


In this chapter the student learns to write programs that input and handle numeric, char-
acter, and string data. The use of arithmetic operators and the creation of mathematical
expressions are covered in greater detail, with emphasis on operator precedence. Debug-
ging is introduced, with a section on hand tracing a program. Sections are also included on
simple output formatting, on data type conversion and type casting, and on using library
functions that work with numbers.

Chapter 4: Making Decisions


Here the student learns about relational operators, relational expressions and how to con-
trol the flow of a program with the if, if/else, and if/else if statements. The condi-
tional operator and the switch statement are also covered. Crucial applications of these
constructs are covered, such as menu-driven programs and the validation of input.
Preface xix

Chapter 5: Loops and Files


This chapter covers repetition control structures. The while loop, do-while loop, and for
loop are taught, along with common uses for these devices. Counters, accumulators, run-
ning totals, sentinels, and other application-related topics are discussed. Sequential file I/O
is also introduced. The student learns to read and write text files, and use loops to process
the data in a file.

Chapter 6: Functions
In this chapter the student learns how and why to modularize programs, using both void
and value returning functions. Argument passing is covered, with emphasis on when argu-
ments should be passed by value versus when they need to be passed by reference. Scope of
variables is covered, and sections are provided on local versus global variables and on static
local variables. Overloaded functions are also introduced and demonstrated.

Chapter 7: Arrays
In this chapter the student learns to create and work with single and multidimensional
arrays. Many examples of array processing are provided including examples illustrating
how to find the sum, average, highest, and lowest values in an array and how to sum the
rows, columns, and all elements of a two-dimensional array. Programming techniques using
parallel arrays are also demonstrated, and the student is shown how to use a data file as
an input source to populate an array. STL vectors are introduced and compared to arrays.

Chapter 8: Sorting and Searching Arrays


Here the student learns the basics of sorting arrays and searching for data stored in them.
The chapter covers the Bubble Sort, Selection Sort, Linear Search, and Binary Search algo-
rithms. There is also a section on sorting and searching STL vector objects.

Chapter 9: Pointers
This chapter explains how to use pointers. Pointers are compared to and contrasted with
reference variables. Other topics include pointer arithmetic, initialization of pointers, rela-
tional comparison of pointers, pointers and arrays, pointers and functions, dynamic mem-
ory allocation, and more.

Chapter 10: Characters, C-strings, and More About the string Class
This chapter discusses various ways to process text at a detailed level. Library functions for
testing and manipulating characters are introduced. C-strings are discussed, and the tech-
nique of storing C-strings in char arrays is covered. An extensive discussion of the string
class methods is also given.

Chapter 11: Structured Data


The student is introduced to abstract data types and taught how to create them using struc-
tures, unions, and enumerated data types. Discussions and examples include using pointers
to structures, passing structures to functions, and returning structures from functions.
xx Preface

Chapter 12: Advanced File Operations


This chapter covers sequential access, random access, text, and binary files. The various
modes for opening files are discussed, as well as the many methods for reading and writing
file contents. Advanced output formatting is also covered.

Chapter 13: Introduction to Classes


The student now shifts focus to the object-oriented paradigm. This chapter covers the fun-
damental concepts of classes. Member variables and functions are discussed. The student
learns about private and public access specifications, and reasons to use each. The topics of
constructors, overloaded constructors, and destructors are also presented. The chapter pres-
ents a section modeling classes with UML and how to find the classes in a particular problem.

Chapter 14: More About Classes


This chapter continues the study of classes. Static members, friends, memberwise assign-
ment, and copy constructors are discussed. The chapter also includes in-depth sections on
operator overloading, object conversion, and object aggregation. There is also a section on
class collaborations and the use of CRC cards.

Chapter 15: Inheritance, Polymorphism, and Virtual Functions


The study of classes continues in this chapter with the subjects of inheritance, polymor-
phism, and virtual member functions. The topics covered include base and derived class con-
structors and destructors, virtual member functions, base class pointers, static and dynamic
binding, multiple inheritance, and class hierarchies.

Chapter 16: Exceptions, Templates, and the Standard


Template Library (STL)
The student learns to develop enhanced error trapping techniques using exceptions. Discus-
sion then turns to function and class templates as a method for reusing code. Finally, the
student is introduced to the containers, iterators, and algorithms offered by the Standard
Template Library (STL).

Chapter 17: Linked Lists


This chapter introduces concepts and techniques needed to work with lists. A linked list
ADT is developed and the student is taught to code operations such as creating a linked list,
appending a node, traversing the list, searching for a node, inserting a node, deleting a node,
and destroying a list. A linked list class template is also demonstrated.

Chapter 18: Stacks and Queues


In this chapter the student learns to create and use static and dynamic stacks and queues. The
operations of stacks and queues are defined, and templates for each ADT are demonstrated.

Chapter 19: Recursion


This chapter discusses recursion and its use in problem solving. A visual trace of recursive
calls is provided, and recursive applications are discussed. Many recursive algorithms are
presented, including recursive functions for finding factorials, finding a greatest common
Preface xxi

denominator (GCD), performing a binary search, and sorting (QuickSort). The classic Tow-
ers of Hanoi example is also presented. For students who need more challenge, there is a
section on exhaustive algorithms.

Chapter 20: Binary Trees


This chapter covers the binary tree ADT and demonstrates many binary tree operations. The
student learns to traverse a tree, insert an element, delete an element, replace an element, test
for an element, and destroy a tree.

Appendix A: Getting Started with Alice


This appendix gives a quick introduction to Alice. Alice is free software that can be used to
teach fundamental programming concepts using 3D graphics.

Appendix B: ASCII Character Set


A list of the ASCII and Extended ASCII characters and their codes.

Appendix C: Operator Precedence and Associativity


A chart showing the C++ operators and their precedence.

The following appendices are available online at www.pearsonhighered.com/gaddis.

Appendix D: Introduction to Flowcharting


A brief introduction to flowcharting. This tutorial discusses sequence, selection, case, repeti-
tion, and module structures.

Appendix E: Using UML in Class Design


This appendix shows the student how to use the Unified Modeling Language to design
classes. Notation for showing access specification, data types, parameters, return values,
overloaded functions, composition, and inheritance are included.

Appendix F: Namespaces
This appendix explains namespaces and their purpose. Examples showing how to define a
namespace and access its members are given.

Appendix G: Passing Command Line Arguments


Teaches the student how to write a C++ program that accepts arguments from the command
line. This appendix will be useful to students working in a command line environment, such
as Unix, Linux, or the Windows command prompt.

Appendix H: Header File and Library Function Reference


This appendix provides a reference for the C++ library functions and header files discussed
in the book.

Appendix I: Binary Numbers and Bitwise Operations


A guide to the C++ bitwise operators, as well as a tutorial on the internal storage of integers.
xxii Preface

Appendix J: Multi-Source File Programs


Provides a tutorial on creating programs that consist of multiple source files. Function
header files, class specification files, and class implementation files are discussed.

Appendix K: Stream Member Functions for Formatting


Covers stream member functions for formatting such as setf.

Appendix L: Answers to Checkpoints


Students may test their own progress by comparing their answers to the checkpoint exer-
cises against this appendix. The answers to all Checkpoints are included.

Appendix M: Solutions to Odd-Numbered Review Questions


Another tool that students can use to gauge their progress.

Features of the Text


Concept Each major section of the text starts with a concept statement.
Statements This statement summarizes the ideas of the section.
Example Programs The text has hundreds of complete example programs, each
designed to highlight the topic currently being studied. In most
cases, these are practical, real-world examples. Source code for
these programs is provided so that students can run the programs
themselves.
Program Output After each example program there is a sample of its screen
output. This immediately shows the student how the program
should function.
In the Spotlight Each of these sections provides a programming problem and a
detailed, step-by-step analysis showing the student how to
solve it.
VideoNotes A series of online videos, developed specifically for this book, is
available for viewing at www.pearsonhighered.com/gaddis.
Icons appear throughout the text alerting the student to videos
about specific topics.
Checkpoints Checkpoints are questions placed throughout each chapter as
a self-test study aid. Answers for all Checkpoint questions can
be downloaded from the book’s Companion Web site at www.
pearsonhighered.com/gaddis. This allows students to check how
well they have learned a new topic.
Notes Notes appear at appropriate places throughout the text. They are
short explanations of interesting or often misunderstood points
relevant to the topic at hand.
Preface xxiii

Warnings Warnings are notes that caution the student about certain C++
features, programming techniques, or practices that can lead to
malfunctioning programs or lost data.
Case Studies Case studies that simulate real-world applications appear in
many chapters throughout the text. These case studies are de-
signed to highlight the major topics of the chapter in which they
appear.
Review Questions Each chapter presents a thorough and diverse set of review
and Exercises questions, such as fill-in-the-blank and short answer, that check
the student’s mastery of the basic material presented in the chap-
ter. These are followed by exercises requiring problem solving
and analysis, such as the Algorithm Workbench, Predict the Out-
put, and Find the Errors sections. Answers to the odd-numbered
review questions and review exercises can be downloaded from
the book’s Companion Web site at www.pearsonhighered.com/
gaddis.
Programming Each chapter offers a pool of programming exercises designed
Challenges to solidify the student’s knowledge of the topics currently being
studied. In most cases the assignments present real-world prob-
lems to be solved. When applicable, these exercises include input
validation rules.
Group Projects There are several group programming projects throughout the
text, intended to be constructed by a team of students. One
student might build the program’s user interface, while another
student writes the mathematical code, and another designs and
implements a class the program uses. This process is similar to
the way many professional programs are written and encourages
team work within the classroom.
Software Available for download from the book’s Companion Web site at
Development www.pearsonhighered.com/gaddis. This is an ongoing project
Project: that instructors can optionally assign to teams of students. It
Serendipity systematically develops a “real-world” software package: a
Booksellers point-of-sale program for the fictitious Serendipity Booksellers
organization. The Serendipity assignment for each chapter adds
more functionality to the software, using constructs and tech-
niques covered in that chapter. When complete, the program will
act as a cash register, manage an inventory database, and produce
a variety of reports.
C++ Quick For easy access, a quick reference guide to the C++ language is
Reference Guide printed on the last two pages of Appendix C in the book.

11 C++11 Throughout the text, new C++11 language features are


introduced. Look for the C++11 icon to find these new features.
xxiv Preface

Supplements
Student Online Resources
Many student resources are available for this book from the publisher. The following items
are available on the Gaddis Series Companion Web site at www.pearsonhighered.com/gaddis:
● The source code for each example program in the book
● Access to the book’s companion VideoNotes
● A full set of appendices, including answers to the Checkpoint questions and answers
to the odd-numbered review questions
● A collection of valuable Case Studies
● The complete Serendipity Booksellers Project

Integrated Development Environment (IDE) Resource Kits


Professors who adopt this text can order it for students with a kit containing five popular
C++ IDEs (Microsoft® Visual Studio Express Edition, Dev C++, NetBeans, Eclipse, and
CodeLite) and access to a Web site containing written and video tutorials for getting started
in each IDE. For ordering information, please contact your campus Pearson Education rep-
resentative or visit www.pearsonhighered.com/cs.

Online Practice and Assessment with MyProgrammingLab


MyProgrammingLab helps students fully grasp the logic, semantics, and syntax of pro-
gramming. Through practice exercises and immediate, personalized feedback, MyProgram-
mingLab improves the programming competence of beginning students who often struggle
with the basic concepts and paradigms of popular high-level programming languages.
A self-study and homework tool, a MyProgrammingLab course consists of hundreds of
small practice exercises organized around the structure of this textbook. For students, the
system automatically detects errors in the logic and syntax of their code submissions and
offers targeted hints that enable students to figure out what went wrong—and why. For
instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the
code inputted by students for review.
MyProgrammingLab is offered to users of this book in partnership with Turing’s Craft, the
makers of the CodeLab interactive programming exercise system. For a full demonstration,
to see feedback from instructors and students, or to get started using MyProgrammingLab
in your course, visit www.myprogramminglab.com.

Instructor Resources
The following supplements are available to qualified instructors only:
• Answers to all Review Questions in the text
• Solutions for all Programming Challenges in the text
• PowerPoint presentation slides for every chapter
• Computerized test bank
Another Random Document on
Scribd Without Any Related Topics
hear nothing—only the distant rumble of thunder far northward
across the sea.
By my watch I saw that it was nearly midnight. So I restarted my
engine and went slowly along until I was within a couple of miles of
Cromer, and could see the flashing of the lighthouse, and the lights
of the town twinkling below. Then again I stopped and attended to
my headlights, which were growing dim.
A mile and a half further on I knew that Rayner, down the dip of the
hill, was lurking in the shadow. But my object in stationing myself
there was to follow the mysterious cyclist, not when he went to keep
his appointment, but when he left.
In order to avert suspicion, I presently turned the car round with its
lights towards Norwich, but scarcely had I done so, and stopped the
engine again, when I heard, in the darkness afar off, the throb of a
motor-cycle approaching at a furious pace.
My lamps lit up the road, while, standing in the shadow bending as
though attending to a tyre, my own form could not, I knew, be seen
in the darkness.
On came the cyclist. Was it the man for whom I was watching?
He gave a blast on his horn as he rounded the corner, for he could
no doubt see the reflection of my lamps from afar.
Then he passed me like a flash, but, in that instant as he came
through the zone of light, I recognized his features.
It was Bertini, the mysterious friend of Jules Jeanjean.
I had but to await his return, and by waiting I should learn the truth.
I confess that my heart beat quickly as I watched his small red light
disappear along the road.
CHAPTER IX
DESCRIBES A NIGHT-VIGIL

The gusty wind had died down.


In the silence of the night I listened to the receding noise of the
motor-cycle as it swept down the hill into Cromer town, where I
knew Rayner would be on the alert.
The sound died away, therefore I relit my pipe, and mounting again
into the driver's seat, sat back thinking—thinking mostly of Lola, and
my ill-luck at having missed her.
Before me, in the white glare of the lamps upon the road, where
insects of the night, attracted by the radiance, were dancing to their
deaths, there arose before me that sweet, perfect face, the face that
had so attracted me. I saw her smile—smile at me, as she did when
first we had met. Ah! How strange had been our friendship, stranger
than novelist had ever imagined. I had loved her—loved as I had
never loved before, and she had loved me, with that bright, intense
look in her wonderful eyes, the woman's look that can never lie.
There is but one love-look. A man knows it by his instinct, just as
does a woman. A woman knows by intuition that the fool who takes
her out to the theatre and supper, and is so profuse in his
protestations of undying admiration, is only uttering outpourings of
vapid nonsense. Just so, a man meets insincerity with insincerity.
The woman gets to know in time how much her vain, shallow
admirer is good for, for she knows he will soon pass out of her life,
while the man's instinct is exactly the same. In a word, it is life—the
life of this, our Twentieth Century.
The man laughed at and derided to-day, is a hero ten years hence.
A few years ago Mr. John Burns carried a banner perspiringly along
the Thames Embankment, in a May Day procession, and I assisted
him. To-day he is a Cabinet Minister. A few years ago my dear friend,
George Griffith, wrote about air-ships in his romance, The Angel of
the Revolution, and everybody made merry at his expense. To-day
airships are declared to be the chief arm of Continental nations.
Ah, yes! The world proceeds apace, and the unknown to-morrow
ever brings its amazing surprises and the adoption of the "crank's"
ideas of yesterday.
Lola had called to see me. That fact conjured up in my imagination a
thousand startling theories.
Why?
Why had she called, after all that had passed between us?
I waited, waited for the coming of that mysterious cyclist, who arose
from nowhere, and whose business with Jules Jeanjean was of such
vast and secret importance.
The very fact of Jeanjean being in Cromer had staggered me. As I
sat there smoking, and listening, I recollected when last I had heard
mention of his name. Hamard—the great Hamard—Chief of the
Sûreté of Paris, had been seated in his private bureau in the offices
of the detective police.
He had leaned back in his chair, and blowing a cloud of tobacco-
smoke from his lips, had said in French—
"Ah! Mon cher Vidal, we are face to face in this affair with Jules
Jeanjean, the most ingenious and most elusive criminal that we have
met this century in France. In other walks of life Jeanjean would
have been a great man—a millionaire financier, a Minister of the
Cabinet, a great general—a leader of men. But in the circumstances
this arch-adventurer, who slips through our fingers, no matter what
trap we set for him, is a criminal of a type such as Europe has never
known within the memory of living man. Personally I admire his
pluck, his energy, his inventiveness, his audacity, his iron nerve, and
his amazing cunning. Truly, now, cher ami, he is a marvel. There is
but one master-criminal, Jules Jeanjean."
That was the character given him by Monsieur Hamard, the greatest
French detective since Lecoq.
And now this master-criminal was beneath the railway arch at
Cromer meeting in secret a mysterious cyclist!
What evil was now intended?
I waited, my ears strained to catch every sound. But I only heard
the distant rumble of the thunder, away across the North Sea, and,
somewhere, the dismal howling of a dog.
I waited, and still waited. The sky grew brighter, and I grew
perceptibly colder, so that I turned up my coat-collar, and shivered,
even though the previous day had been so unusually warm. The car
smelt of petrol and oil—a smell that nauseated me—and yet my face
was turned to the open country ready to follow and track down the
man who had swept past me to keep that mysterious tryst in the
darkness.
Looking back, I saw, away to the right, the white shafts of light from
the high-up lighthouse, slowly sweeping the horizon, flashing
warning to mariners upon that dangerous coast, while, far away in
the distance over the sea, I could just discern a flash from the
lightship on the Haisboro' Sands.
In the valley, deep below, lay Cromer, the street-lamps reflecting
upon the low storm-clouds. At that moment the thunder-storm
threatened to burst.
Yet I waited, and waited, watching the rose of dawn slowly
spreading in the Eastern sky.
Silence—a complete and impressive silence had fallen—even the dog
had now ceased to howl.
And yet I possessed myself in patience, my ears strained for the
"pop-pop" of the returning motor-cycle.
A farmer's cart, with fresh vegetables and fruit for the Cromer shops
on the morrow, creaked slowly past, and the driver in his broad
Norfolk dialect asked me—
"Any trouble, sir?"
I replied in the negative, whereupon he whipped up his horse, bade
me a cheery "good morning," and descended the hill. For a long
time, as I refilled and relit my pipe, I could hear the receding
wheels, but no sound of a motor-cycle could I hear.
Time passed, the flush of dawn crept over the sea, brightened
swiftly, and then overcast night gave place to a calm and clear
morning. The larks, in the fields on either side, rose to greet the
rising sun, and the day broke gloriously. Many a dawn had I
witnessed in various parts of the world, from the snows of
Spitzbergen to the baking sands of the Sahara, but never a more
glorious one than that June morning in Poppyland, for Cromer is one
of the few places in England where you can witness the sun both
rise from, and set in the sea.
My headlights had burned themselves out long ago. It was now four
o'clock. Strange that the nocturnal cyclist did not return!
All my preparations had, it seemed, been in vain.
I knew, however, that I was dealing with Jules Jeanjean, a past-
master in crime, a man who, no doubt, was fully aware of the
inquiries being made by the plain-clothes officers from Norwich, and
who inwardly laughed them to scorn.
The man who had defied the Paris Sûreté would hardly entertain any
fear of the Norfolk Constabulary.
Many country carts, most of them going towards Cromer, now
passed me, and their drivers wished me "Good morning," but I
remained at my lonely vigil until five o'clock. Then I decided that
Jeanjean's friend must have taken another road out of Cromer,
either the Sheringham, the Holt, or the Overstrand, the three other
main roads out of the town.
What had Rayner done, I wondered? Where was he?
I sat down upon the grassy bank at the roadside, still pondering. Of
all the mysteries of crime I had assisted in investigating, in order to
write down the details in my book, this was assuredly the most
remarkable.
I knew that I was face to face with some great and startling affair,
some adventure which, when the truth became known, would amaze
and astound the world. Jules Jeanjean was not the man to attempt
small things. He left those to smaller men. In his profession he was
the master, and a thousand escrocs, all over the Continent, forgers,
international thieves, burglars, coiners, rats d'hotel—most ingenious
of malefactors—regarded the name of Jeanjean with awe.
One of his exploits was well known up and down the Continent—for
the Matin had published the full story a year ago. Under another
name, and in the guise of a wealthy rentier of Paris, he made the
acquaintance of one of the Inspectors of the Paris detective service.
Inviting him to his private sitting-room in the Hôtel Royale, on the
Promenade des Anglais, he gave him an aperitif which in less than
three minutes caused the police official to lose consciousness.
Thereupon Jeanjean took from the Inspector's pocket his card of
authority as a detective—a card signed by the Prefect of Police—and
at once left the hotel.
Next night, at the Café Américain in Paris, he went up to a wealthy
German who was spending a harmless but gay evening at that well-
known supper-resort and arrested him for theft, exhibiting his
warrant of authority.
In a taxi he conducted him to the Prefecture of Police, but on their
way the German asked him if they could come to terms. The
pseudo-Inspector hesitated, then told the taxi-driver to go to a small
hotel opposite the Gare du Nord. There he and his prisoner
discussed terms, it being eventually agreed that the German—a well-
known shipowner of Hamburg—should in the morning telegraph to
his bank for eighty thousand marks, for which sum he would be
allowed to go at liberty.
It was well known, of course, to Jeanjean that his "prisoner" had
been guilty of the offence for which he had "arrested" him, and the
coup was quite easy.
He kept the German in the hotel till ten o'clock next morning, and
then the pair went to the Crédit Lyonnais together. At four o'clock—
the bogus Inspector still with his "prisoner,"—the money was
brought to the obscure hotel, and after Jeanjean had carefully
counted through the notes he allowed his prey to go at liberty,
advising him to take the next train back to Germany.
At six o'clock, the sun shining out warm and brightly, my patience
was exhausted. I had spent the night hours there in vain. Yet I dare
not drive the car into Cromer, for I intended to repeat my effort on
the following night. Therefore I started the engine, and was soon
back in the yard of the small hotel in Aylsham.
There I put up the car, breakfasted, and then taking the first train to
North Walsham, arrived in Cromer about half-past nine o'clock.
When I entered my room at the Hôtel de Paris the maid came
quickly along, saying—
"Will you please go up to see your servant, sir! He's very unwell!"
"Unwell?" I said. "Why, what's the matter?"
"I don't know, sir. The police brought him in about half an hour ago.
He's been out all night, they say. And they found him very ill."
I darted upstairs and entered Rayner's room without knocking.
He was lying upon the bed, still dressed, his face pale as death.
"Ah, sir!" he gasped, "I—I'm so glad you've come back! I—I
wondered whether anything had happened to you. I—I——"
He stretched out his hand to me, but no other word escaped his lips.
I saw that he had fainted.
CHAPTER X
CONTAINS A CLUE

At once I knew that some startling incident had happened.


Dr. Sladen, called by the police, entered the room a few moments
afterwards, whereupon I turned to him, and in order to allay any
undue curiosity, said—
"My man has been taken ill, doctor. Exhaustion, I suppose. He's a
great walker, and, unknown to me, has apparently been out for a
night ramble."
"Ah, yes," answered the quiet, old-fashioned medical man, peering
at the invalid through his glasses.
Slowly he took Rayner's pulse, and then said—
"Heart a little weak, I suppose. There's nothing really wrong—eh?"
"I think not. He was talking to me only a few moments ago, and
then suddenly fainted. Been on a long ramble, I should think."
"At night, eh?" asked the doctor in some surprise.
"It is a habit of his to walk at night. He does the same thing in
London—walks miles and miles."
We dashed cold water into Rayner's face, gave him a smelling-bottle
belonging to one of the maids, and very soon he came round again,
opening his eyes in wonder at his surroundings.
"Here's Doctor Sladen," I said. "You feel better now, don't you,
Rayner?"
"Yes, sir," was his feeble reply.
"Ah, you've been on one of your night rambles again," I said
reprovingly. "You over-do it, you know."
Then Sladen asked him a few questions, and finding that he had
recovered, shook my hand and left.
The instant the door was closed upon the doctor Rayner sat up, and
with a serious expression upon his face said—
"Something has happened, sir. I don't know what. I'll tell you all I
know. I went up to the railway arch as you directed, and lay down in
the hedge to wait. After a long time the foreigner from the
Overstrand Road came along, lit a cigar, and waited. He was wearing
an overcoat, and I suppose he must have waited a full half-hour,
until, at last, the cyclist came. They had a brief talk. Then the cyclist
left his cycle about fifty yards from where I was in hiding, and both
men set off towards the town. I, of course, followed at a decent
distance, and they didn't hear me because of the rubber soles on my
boots."
"Well, what then?" I inquired impatiently.
"They separated just against the Albion, and then followed one
another past the church, and to the left, behind this hotel, and along
to the house where the dead man lived—the house you pointed out
to me. Close by they met another man who, in the darkness, I took
to be a chauffeur. But I had, then, to draw back into a doorway to
watch their movements. The chap I took to be a chauffeur, after a
few words with the two foreigners, came along in my direction, and
passed within a yard of me, when of a sudden he turned and faced
me. 'What are you doing here?' he asked quickly. 'Nothing,' was my
reply. 'Then take that for your inquisitiveness,' he said, and in a
second I felt something over both my nose and mouth. It was only
for a second, but I recollect I smelt a strong smell of almonds; and
then I knew no more, nothing until I found myself here."
"That's most extraordinary!" I exclaimed. "Then you don't know
what became of the three men?"
"Not in the least, sir," Rayner replied. "I was so thoroughly taken
aback, that I must have gone down like a log."
"Then, that's all you know?"
"Yes, sir."
Scarcely had he finished relating his strange adventure than
Inspector Treeton entered, and greeting me, explained how Rayner
had been found by a constable, lying senseless, about three miles
out of the town on the road to Holt.
By that I knew he must have been conveyed there, probably by a
motor-car, driven by the chauffeur who had so mysteriously attacked
him, apparently at the foreigners' orders. It was Jeanjean's work, no
doubt. The Frenchman had seemingly eyes at the back of his head,
and had evidently detected that his actions were being spied upon.
To the police inspector I made no mystery of the affair, merely
replying, as I had to the doctor, that my manservant was in the habit
of taking long walks, long nocturnal rambles, and that he evidently
had overdone it.
"Doctor Sladen has already been here and seen him," I added. "He
says he's quite right again."
This satisfied the highly-esteemed local inspector, and presently he
left us, expressing the hope that Rayner would very soon be himself
once more.
"Well," I said to my man when the inspector had gone, "it's evident
that while you were unconscious they picked you up, put you in the
car, and tipped you out upon the road outside the town. Perhaps
they believed you to be dead."
"Like enough, sir," he said, smiling grimly.
"They evidently trapped you, Rayner," I said, laughing. "You were
not sharp enough."
"But, who'd have thought that the fellow could have come straight
for me, and rendered me insensible in a tick—as he did?" asked my
man as he lay, still extended on the bed, a dirty, dishevelled figure.
"I know I was caught, sir; those men were cleverer than I was, I
admit."
"Yes, Rayner," was my reply. "I don't blame you in the least. I'm only
glad that your plight isn't worse. The men had a motor-car, it seems,
at their disposal somewhere, and they went in the direction of Holt."
"That appears so, sir."
"Why, I wonder? Bertini probably obtained his machine and followed
the car. They must have gone either through Wells and Fakenham,
or East Dereham."
"Back to Norwich, perhaps, sir. All roads from here seem to lead to
Norwich."
"But you say the incident happened close to Beacon House, where
old Gregory lived—eh?"
"Yes, sir."
"Then they objected to you being present. Evidently something was
intended and you prevented it."
"No. Perhaps I didn't prevent it. They prevented me instead."
Rayner was a bit of a humorist.
"Quite likely," I answered, smiling. But I was full of chagrin that I
had been out all night, waiting on that lonely road, while that
mysterious affair had been in progress.
"Well, at any rate, Rayner, you've had a very funny experience," I
said, with a laugh.
"And not the first, sir, eh?" he replied, stretching lazily on the bed.
"Do you recollect that funny case at Pegli, just outside Genoa? My
word, those two assassins nearly did me in that night, sir."
"And three nights later we gave them over to agents of the
Department of Public Security," I said. "Yes, Rayner, you had a tough
half-hour, I know. But you're an adventurer, like myself. As long as
we solve a mystery we don't regret the peril, or the adventure, do
we?"
"No, sir. I don't—as long as you give a guiding eye over it. But I tell
you straight, sir, I don't like detectives. They're chumps, most of
'em."
"No. Don't condemn them," I said. "Rather condemn the blind and
silly police system of England. The man who snares a rabbit gets a
conviction recorded against him, while the shark in the city pays toll
to the Party and becomes a Baronet. I'm no socialist," I added, "but
I believe in honesty in our daily life. Honesty in man, and modesty in
woman, are the two ideals we should always retain, even in this age
of degeneracy and irreligion."
"I think the local police are blundering the whole of this affair,"
Rayner went on. "Yet I can't make out by what means I was so
suddenly put out of action. That curious, strong smell of almonds
puzzles me. It's in my nostrils now."
"Your fancy, I expect," I said.
At that moment came a knock at the door, and the tall young
constable entered, the same man who had been on duty when I had
gone up to inspect the seat where Craig's body had been found.
"The Inspector has sent me, sir," he exclaimed, saluting, "to say he'd
like to see you at once. He's just along the West Cliff—at Beacon
House, where Mr. Craig lived in."
"Certainly," I replied. "Tell him I will come at once."
The constable disappeared, and turning to Rayner, I said: "I wonder
why Treeton wishes to see me in such a hurry? What has happened
now?" Then, promising to return quickly, I went out.
At Beacon House, I found Treeton standing in the front sitting-room,
on the ground-floor, talking seriously with the landlady.
"Hulloa! Mr. Vidal," he exclaimed as I entered. "Something more has
occurred in this house during the night. The place has been broken
into by burglars, who've got clean away with all old Mr. Gregory's
collection of jewellery."
"Burglary," I repeated slowly; and then all that Rayner had told me
flashed across my mind. I saw the reason for Jeanjean and his
mysterious cyclist companion being near the house, and also why
Rayner, on being detected, had been rendered senseless.
"Have you found any trace of the thieves?" I asked, having already
decided to keep my own information to myself.
"Lots of traces," laughed Treeton. "Come and see for yourself."
We ascended the stairs, followed by the excited landlady and her
husband.
"This is really terrible," moaned the woman. "I wish we'd never set
eyes upon the poor young man and his uncle. We heard nothing in
the night, nothing. In fact, I didn't discover that the room had been
opened until an hour ago, when I was sweeping down the stairs.
Then I noticed that the seals placed upon it had been broken, and
the lock sawn right out. Why we didn't hear them, I can't think!"
"Ah, you don't hear much when the modern burglar is at work,"
declared Treeton. "They're far too scientific for that."
He showed me the door, from which the lock had been cut away,
saying—
"They evidently got in by the window of the room downstairs, where
we've just been, for it was found closed but not latched. They came
up these stairs, cut out the lock, as you see—and look at that!" he
added as we entered the old man's room.
The strong old sea-chest stood in the centre of the room. The lid,
which had been nailed down, and sealed by the police, had been
wrenched off and the box stood empty!
"Look!" cried Treeton again. "Every scrap gone—and it must have
been a pretty bulky lot—a couple, or even three, sacksful at the
least."
I went to the two windows which overlooked the narrow street
behind, and examining the sills, saw marks where the paint had
recently been rubbed away.
"Yes, I see," I remarked, "and they lowered the plunder to
confederates outside."
"But who could have known of the existence of the jewellery, here?"
asked Treeton. "Only ourselves were aware of it. At the inquest all
mention of it was carefully suppressed."
"Somebody, of course, must have talked, perhaps unthinkingly,
about it, and the news got round to the thieves," remarked the
landlord.
I remained silent. Had I not, from the first, marvelled that old Mr.
Gregory should disappear and leave behind him that collection of
valuables?
"I've wired to Norwich, to Frayne, to come over at once, and see if
he can find any finger-prints," said the local inspector. "We've
discovered something here which the burglars left behind. Look at
this."
And from a corner of the room he picked up something and handed
it to me.
It was a woman's little, patent leather walking-shoe, with two white
pearl buttons as fastening. The size I judged to be threes, but, as it
was still fastened, it must have been too large for the wearer, who
apparently having dropped it, was unable for some reason to regain
it, and so left it behind.
"That's very strange!" I said, turning the little shoe over in my hand.
It was not much worn, and of very good quality. "A woman has
evidently been here!"
"Evidently, Mr. Vidal," replied the officer. "But surely a woman would
never have the pluck to do a job of this sort. Nine people slept in
this house last night and never heard a sound."
Truth to tell, I did not expect they would have done, now that I
knew the robbery had been engineered by Jules Jeanjean.
"Very remarkable—very," I declared. "Probably Frayne, when he
takes the finger-prints, will find some clue," I added, laughing
inwardly, for I knew that those who had committed that robbery
were far too clever to leave behind any traces of their identity.
Besides, to actually lower the booty down into a public street
showed a daring spirit which one only finds in the most expert
criminals.
I could not, however, account for the discovery of that little shoe.
Had it really been lost—or had it been placed there in order to
mystify and mislead the police?
The latter suggestion had, of course, never entered Treeton's head.
"I wonder," I said to him, "if you would allow me to take this shoe
along to the hotel? I want to take the exact measurements."
"Certainly, Mr. Vidal," was his reply. "You'll send it round to me, at
the station, afterwards?"
"In an hour you shall have it," I promised him. Then I placed the
shoe in my pocket, and made a tour of the room, touching nothing
because of Frayne's coming hunt for finger-prints.
Jeanjean always wore gloves, skin-thin, rubber-gloves, which left no
trace of his light touch. The curved lines of his thumb and forefinger
were far too well known in Paris, in London, in Berlin and Rome,
where the bureaux of detective police all possessed enlarged
photographs of them.
Back in my room at the Hôtel de Paris, I took from a drawer the
plaster cast of the woman's footprints I had found near the spot
where Craig had been found.
Then, carrying it down to the shore near the pier, I made a print
with the cast in the wet sand left hard by the receding tide.
Afterwards, I took the tiny, patent leather shoe from my pocket, and
placed it carefully in the print.
It fitted exactly.
CHAPTER XI
THE AFFAIR ON THE SEVENTEENTH

The ingenious theft of old Gregory's treasure created the greatest


consternation amongst the police, though the truth was carefully
concealed from the public.
Treeton pledged Mr. and Mrs. Dean and their servant to secrecy,
therefore all that was known in Cromer was that there had been an
attempted burglary at Beacon House.
Cromer is a quiet, law-abiding town, and burglars had not been
known there for years. Therefore the inhabitants were naturally
alarmed, and now carefully locked and bolted their doors at night.
I returned the shoe to the police-station, but made no mention of
the result of my test.
From the first I had guessed that old Gregory would not leave his
treasure behind. Yet, if he were not guilty of Craig's murder, why had
he fled?
Lola had visited him, and Jeanjean had been in Cromer. Those two
facts were, in themselves, sufficient to tell me that Gregory was an
impostor and that Craig, whoever he might really have been, had
fallen the victim of some deadly vengeance.
Would Lola return to see me?
In the days that followed—bright June days, with the North Sea lying
calm and blue below the cliffs—I waited in patience, scarce leaving
the hotel all day, in fear lest she might again seek me, and, paying
me a visit, find me absent.
Rayner considered me inactive and grumbled in consequence.
He spent his time lolling upon one of the seats on the cliff-top
outside the hotel, idly smoking Virginian cigarettes. He had openly
expressed his dissatisfaction that I had not made any attempt to
follow the mysterious Doctor Arendt and his Italian friend.
Truth to tell, I was utterly confounded.
To follow Jules Jeanjean, now that he had got clean away with
Gregory's treasure, would, I felt, be an utterly futile task. He was too
clever to leave any trace behind—a past-master in the art of evasion,
and a man of a hundred clever disguises.
What would they say at the Prefecture of Police in Paris, when I
related to them the strange story of Jeanjean's exploits in England?
Was it possible, I wondered, that the master-criminal, finding the
Continent of Europe growing a trifle too hot for him, had come to
England to follow his nefarious profession. If so, then he would
certainly cause a great deal of trouble to the famous Council of
Seven at the Criminal Investigation Department in London.
Thus days went on—warm, idle, summer days with holiday visitors
daily arriving, houses being repainted, and Cromer putting on her
best appearance for the coming "season." Seaside towns always
blossom forth into fresh paint in the month of June, window-sashes
in white and doors in green. But Cromer, with its golf and high-class
music, is essentially a resort of the wealthy, a place where the
tripper is unwanted and where there are no importunate long-
shoremen suggesting that it is a "Nice day for a bowot, sir!"
Where was Lola? Would she ever return?
I idled about the hotel, impatient and angry with myself. Yes, Rayner
was right after all! I ought to have made some effort to follow the
three men. But now, it was quite impossible. They were, no doubt,
far away, and probably old Gregory's treasure was by that time safe
in his own hands.
The evidence of the shoe puzzled me. The wearer of that little shoe
with the two pearl buttons had, without doubt, been near that seat
on the East Cliff where Craig had been killed—present, in all
probability, when he had been so mysteriously stricken down.
Was it possible that a woman—the same woman—had assisted in
the burglary, and had inadvertently lost her shoe? Perhaps she had
taken her shoes off in order to move noiselessly, and in trying to
recover them could only regain one!
Lola, I remembered, possessed a very small foot. She was always
extremely neat and dainty about the ankles and wore silk stockings
and pretty shoes. Was it the print of her foot that I had found near
that fatal seat? Was it her shoe that had been found at Beacon
House?
Ah! If I could but see her? If she would only call upon me once
again!
Day after day I waited, but, alas, she did not come.
That she was most anxious to see me was proved by the fact that
she had dared to call at all after what had occurred. She had some
strong motive in meeting me again, therefore I lived on in hope that
she would return.
The Nightingale! Heavens! What strange memories that one word
brought back to me as I sat in the window of my high-up room,
gazing over the summer sea.
It was now July, and Cromer was rapidly filling with better-class folk.
Now and then I went to London, but only for the day, fearing lest
Lola should send me a telegram to meet her. In my absence Rayner
always remained on duty.
I had written to her address in the Avenue Pereire, in Paris, but had
received no reply. Then I had sent a line to the concierge of the
house wherein the flat was situated. To this I had received an ill-
scribbled few lines in French, expressing a regret that Mademoiselle
had vacated the place some weeks previously and that her present
address was unknown.
Unknown! Well, that, after all, scarcely surprised me. Lola's address
generally was unknown. Only her most intimate friends ever knew it;
and for obvious reasons. She existed always in a deadly fear.
Perhaps it was that very fear which even now kept her from me!
Several times I had advertised in the personal column of the Matin in
the hope that she might see it and communicate with me, but all to
no avail.
In Cromer the sensation caused by the mysterious crime had quite
died down.
Frayne, in Norwich, had ceased to make further inquiry, and Treeton
now regarded the problem as one that would never be solved. So,
with the daily arrival of visitors, Cromer and its tradespeople and
landladies forgot the curious affair which had afforded them such a
"nine days' wonder."
The month of July passed, and, with the London season over, every
one rushed to the seaside. Cromer was filled to overflowing. The
narrow streets were crowded with well-dressed folk, and large cars
passed one at every turn. Stifled town-dwellers were there to enjoy
the strong, healthy breezes from the North Sea, and to indulge in
the bathing and the golf.
Yet, though August came, I still kept on my room at the Paris,
hoping against hope that Lola might yet return.
Quite suddenly, one day, I recollected that curious letter in Italian,
signed "Egisto," and addressed to his "Illustrious Master," found at
Beacon House.
It had referred to something which had appeared in the Paris Matin
of March 17. Consequently I sent to Paris for a copy of the paper,
and, one morning, the pale yellow sheet arrived.
"The business we have been so long arranging, was successfully
concluded last night," the writer of the letter had said, adding that a
report of it appeared in the Matin on the day of this letter.
Eagerly I searched the paper, which was, as usual, full of sensational
reports, for the French newspaper reader dearly loves a tragedy.
The "feature" of the paper is always placed in the right-hand corner
near the bottom, and, as I searched, my eyes fell upon the words, in
bold capitals: "Motor Bandits: Dastardly Outrage near
Fontainebleau."
What followed, roughly translated into English, read—
"By telephone from Fontainebleau. Early this morning we have
received information of a dastardly outrage in which two lives have
been sacrificed. It appears that, just after midnight, Monsieur
Charles Benoy, the well-known jeweller of the Rue de la Paix, was
travelling from Paris to his château near Maret-sur-Loire, on the
other side of the Forest of Fontainebleau. He was accompanied by
his son Pierre, aged twenty-four, and driven by the chauffeur, named
Petit. With him, in the car, M. Benoy had in their leather cases four
diamond collars of great value, and two pearl necklaces, which he
intended to show next day to a certain American gentleman who has
recently purchased the ancient Château de Provins, and who was
one of the jeweller's customers.
"M. Benoy's intention was to take the jewels over to Provins in his
car on the following morning. Apparently all went well on the
journey. They passed through Melun, entered the Forest, and at a
high speed passed through the little hamlet of Chantoïseau, where
they were seen by two gendarmes.
"According to the story of the chauffeur, when about four kilometres
beyond Chantoïseau, at a lonely point of the forest, he saw two red
lights being waved in the roadway, and reduced his speed on this
sign of danger.
"As he did so, however, three men sprang out from the
undergrowth. They called upon him to stop, and a revolver was fired
point-blank at him. Next moment the bandits fired, without further
ado, upon the occupants of the car, but the chauffeur, severely
wounded, then fainted, and knew no more until he recovered
consciousness in the barracks of the Gendarmerie in Moret.
"What happened, apparently, was that the three assassins, after
shooting all three of the occupants of the car, threw the bodies into
the roadway, seized the automobile, and drove off with the jewels.
M. Benoy and his son were dead when found, the father having two
bullet-wounds in his head, while the son had been struck in the
region of the heart. The chauffeur, Petit, lies in a critical condition,
and only with great difficulty has been able to give an account of the
murderous attack.
"Inquiries at M. Benoy's shop, in the Rue de la Paix, have revealed
the fact that the jewellery is worth about four hundred thousand
francs.
"The car was seen returning through Melun, being driven at a
furious pace by the bandits, but, unfortunately, all traces of it, and of
the three men, have been lost.
"According to the chauffeur's description of one of the men, who
wore motor-goggles as a disguise, the police believe the outrage to
be the work of the notorious Jules Jeanjean, the ingenious criminal
of whom the police have been so long in search.
"The occupants of the car were treated with inhuman brutality. The
bodies of both father and son, together with the number-plates of
the car, were thrown unceremoniously into the undergrowth; that of
Petit was allowed to lie across the footpath, but for what reason
cannot be guessed at.
"From the fact that the number-plates of the car have been found, it
would appear that before the bandits moved off they replaced the
correct numbers by false ones. No doubt, also, a rapid attempt was
made to alter the appearance of the body of the car, because, close
by, there were found two pails containing grey paint, and large
brushes with the paint still wet in them.
"From this it is seen that the intention of the bandits was to make a
long run, perhaps all through the following day, to reach some
distant point of safety.
"It will be remembered that Jules Jeanjean was the prime mover in
the terrible outrage near Lyons, where three motorists were shot
dead and two wounded. Two men named Dubois, and Leblon, were
arrested, and before their condemnation confessed that Jeanjean, a
dangerous anarchist, had instigated the plot.
"Readers of the Matin will not need to be reminded of the many
desperate crimes of which this atrocious scoundrel has been the
author; of his amazing daring and marvellous cunning; and of the
almost uncanny ease with which he, time after time, defies every
effort of the police to trace and capture him.
"M. Hamard, Chef de la Sûreté, and several inspectors have left
Paris, and are upon the scene of the outrage, while descriptions of
the missing jewellery have already been circulated."
CHAPTER XII
LOLA

Several times I re-read the account of the dastardly outrage.


Too well I knew how dangerous and desperate a man was Jules
Jeanjean, the studious, and apparently harmless, Belgian doctor,
who had lodged in the Overstrand Road, and had strolled about the
pier and promenade of Cromer. His name, during the last three years
or so, had become well known from end to end of Europe as an
Anarchist who defied all the powers of law and order; a man who
moved from place to place with marvellous swiftness, and who
passed from frontier to frontier under the very noses of the
commissaries of police stationed there.
His narrowest escape of capture had been one day in Charleroi,
where, while sitting before the Café des XXV, he had been
recognized by an inspector of the French Sûreté, who was in
Belgium upon another matter. The inspector called a local agent of
police, who suddenly pounced upon him, but in an instant Jeanjean
had drawn a revolver, with which he shot the unfortunate policeman
dead, and, in the confusion, escaped.
He then wrote an impudent letter to the Prefecture of Police in Paris,
telling them that his intention was to serve any other police agent
the same who might attempt to arrest him.
I took from my dispatch-box the copy I had made of the letter in
Italian, found at Beacon House. In the light of that newspaper report
it proved curious and interesting reading.
Who was the writer, Egisto? Evidently one of the conspirators. It was
a report to his "Illustrious Master," of what had been done. Who was
his Master? Surely not Jules Jeanjean, because one sentence read,
"J. arrives back in Algiers to-morrow."
Was it possible that the "Illustrious Master"—the man who actually
plotted and directed those dramatic coups—was none other than old
Gregory himself!
The letter was certainly a report to the head of an association of
dangerous malefactors. Who "H." was, who had "left as arranged," I
knew not, but "J." evidently indicated Jules Jeanjean, and the fact
that he would arrive back in Algiers on the morrow, showed first,
that his hiding-place was on the other side of the Mediterranean;
and, secondly, that after the crime a dash had been made to the
south to join the mail-boat at Marseilles. The writer, Egisto, had left
the other, travelling via Brindisi, to Port Said, so leaving the Paris
police to again search for them in vain.
"Does H. know anything, do you think?" was the question Egisto had
asked in his letter.
Did "H." indicate Monsieur Hamard, the Chef de la Sûreté?
My own theory was that "H." did indicate that well-known official,
whom the gang had so often defied.
The writer, too, declared that "The Nightingale" still sang on blithely.
I knew the singer, the pretty, refined, fair-haired girl, so neat and
dainty, with the sweet, clear contralto voice. It was Lola—Lola Sorel!
On the morning of August 24, I was standing with Mr. Day on the
well-kept lawn outside the coast-guard station, watching the life-
boat being launched for the benefit of the visitors, and in order to
collect funds for the Life-boat Institution. The morning was perfect,
with bright sunshine, a clear sky and glassy sea. Below us, the
promenade and beach were thronged with summer visitors in light
clothes, and the scene was one of brightness and merriment.
Amid the cheers of the waiting crowd the life-boat, guided by its
gallant crew of North Sea fishermen, wearing their cork belts, went
slowly down to the water's edge. The instant it was launched, Mr.
Day, who held a huge pistol in his hand, fired a green rocket high
into the air—the signal to the Haisboro' Lightship that aid was on its
way.
Just as he had done so, a telegraph-boy handed me a message.
I tore it open and read the words—
"Can you meet me at the Maid's Head Hotel, Norwich, this afternoon
at four? Urgent. Reply, King's Head Hotel, Beccles—Lola."
My heart gave a great bound.
From the messenger I obtained a telegraph-form, and at once
replied in the affirmative.
Just before four o'clock I entered the covered courtyard of the old
Maid's Head Hotel, in Norwich, one of the most famous and popular
hostelries in Norfolk. John Peston mentioned it in 1472, when its
sign was The Murtel or Molde Fish, and to-day, remodelled with
taste, and its ancient features jealously preserved, it is well known
to every motorist who visits the capital of Norfolk, the metropolis of
Eastern England.
I engaged a small private sitting-room on the first-floor, a pretty, old-
fashioned apartment with bright chintzes, and a bowl of fresh roses
upon the polished table in the centre. Telling the waiter I expected a
lady, I stood at the window to await my visitor.
As I stood there, all-impatient, the Cathedral chimes close by told
the hour of four, and shortly afterwards I heard the noise of a car
turning from the street into the courtyard.
Was it Lola?
From the room in which I was I could not see either roadway or
courtyard, therefore I waited, my ears strained to catch the sound of
footsteps upon the stairs.
Suddenly I heard some one ascending. The handle of the door was
turned, and next second I found myself face to face with the slim,
fair-haired girl whose coming I had so long awaited.
She came forward smiling, her white-gloved hand outstretched, her
pretty countenance slightly flushed, exclaiming in French—
"Ah! M'sieu' Vidal! After all this time!"
"It is not my fault, Mademoiselle, that we are such strangers," I
replied with a smile, bowing over her hand as the waiter closed the
door.
She was a charming little person, sweet and dainty from head to
foot. Dressed in a black coat and skirt, the former relieved with a
collar of turquoise silk, and the latter cut short, so that her silk-
encased ankles and small shoes were revealed. She wore a tiny
close-fitting felt hat, and a boa of grey ostrich feathers around her
neck.
Her countenance was pale with well-moulded features of soft
sympathetic beauty, a finely-poised head with pretty dimpled chin,
and a straight nose, well-defined eyebrows, and a pair of eyes of
that clear blue that always seemed to me unfathomable.
I drew forward a chair, and she sank into it, stretching forth her
small feet and displaying her neat black silk stockings from beneath
the hem of her short skirt, which, adorned with big ball buttons, was
discreetly opened at the side to allow freedom in walking.
"Well, and why did you not call again upon me in Cromer?" I asked
in English, for I knew that she spoke our language always perfectly.
"Because—well, because I was unable," was her reply.
"Why did you not write?" I asked. "I've been waiting weeks for you."
"I know. I heard so," she said with a smile. "I am ve-ry sorry, but I
was prevented," she went on with a pretty, musical accent. "That
same evening I called upon you, I had to leave Cromer ve-ry
hurriedly."
A strange thought flashed across my mind. Had her sudden
departure been due to the theft at Beacon House? Had she been
present then and lost her shoe?
I glanced at the shoes she wore. They were very smart, of black
patent leather, with a strip of white leather along the upper edge.
Yes, the size looked to me just the same as that of the little shoe
which so exactly fitted the imprint I had made in the sand.
"Why did you leave so quickly?" I asked, standing before her, and
leaning against the table, as I looked into the wonderful eyes of the
chic little Parisienne.
"I was compelled," was her brief response.
"You might have written to me."
"What was the use, M'sieu' Vidal? I went straight back to France.
Then to Austria, Hungary, and Russia," she answered. "Only the day
before yesterday I returned to London."
"From where?"
"From Algiers."
Algiers! The mention of that town recalled the fact that it was the
hiding-place of the notorious Jules Jeanjean.
"Why have you been in Algiers—and in August, too?"
"Not for pleasure," she replied with a grim smile. "The place is a
perfect oven just now—as you may well imagine. But I was forced to
go."
"Forced against your will, Lola, eh?" I asked, bending towards her,
and looking her full in the face very seriously.
"Yes," she admitted, her eyes cast down, "against my will. I had a
message to deliver."
"To whom?"
"To my uncle."
"Not a message," I said, correcting her. "Something more valuable
than mere words. Is not that so?"
The Nightingale nodded in the affirmative, her blue eyes still
downcast in shame.
"Where was your starting-point?" I asked.
"In St. Petersburg, a fortnight ago. I was given the little box in the
Hôtel de l'Europe, and that night I concealed its contents in the
clothes I wore. Some of them I sewed into the hem of my travelling-
coat, and, and——"
"Stones they were, I suppose?" I said, interrupting.
"Yes, from Lobenski's, the jeweller's in the Nevski," she replied.
"Well, that night I left Petersburg and travelled to Vienna, thence to
Trieste, where I found my uncle's yacht awaiting me, and we went
down the Adriatic and along the Mediterranean to Algiers. My uncle
was already at home. The coup was a large one, I believe. Have you
seen reports of it in the English papers?" she asked.
"Certainly," I replied. For a fortnight before I had read in several of
the newspapers of the daring robbery committed at the shop of
Lobenski, the Russian Court Jeweller, and of the theft of a large
quantity of diamonds, emeralds, and rubies. The safe, believed to be
impregnable, had been fused by an oxygen acetylene jet, and the
whole of its contents stolen. From what Lola had revealed, it seemed
that Jeanjean had had no actual hand in the theft, for he had been
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about testbank and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebooksecure.com

You might also like