100% found this document useful (1 vote)
44 views

(Ebook) Practical C++ Programming by Steve Oualline ISBN 9780596004194, 0596004192 download

Practical C++ Programming by Steve Oualline is a comprehensive guide that covers all aspects of C++ programming, including style, software engineering, and debugging, with practical exercises to reinforce learning. The book is structured into clear, concise chapters that facilitate understanding of complex concepts. Published by O'Reilly in December 2002, it spans 574 pages and is designed for both beginners and those familiar with C.

Uploaded by

islahmintsq5
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 (1 vote)
44 views

(Ebook) Practical C++ Programming by Steve Oualline ISBN 9780596004194, 0596004192 download

Practical C++ Programming by Steve Oualline is a comprehensive guide that covers all aspects of C++ programming, including style, software engineering, and debugging, with practical exercises to reinforce learning. The book is structured into clear, concise chapters that facilitate understanding of complex concepts. Published by O'Reilly in December 2002, it spans 574 pages and is designed for both beginners and those familiar with C.

Uploaded by

islahmintsq5
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/ 56

(Ebook) Practical C++ Programming by Steve

Oualline ISBN 9780596004194, 0596004192 download

https://ebooknice.com/product/practical-c-programming-7318304

Explore and download more ebooks at ebooknice.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

(Ebook) Bare Metal C by Steve Oualline ISBN 9781718501621, 1718501625

https://ebooknice.com/product/bare-metal-c-44395990

(Ebook) Primary Mathematics Workbook 2B by Jennifer Hoerst ISBN


9780761469933, 0761469931

https://ebooknice.com/product/primary-mathematics-workbook-2b-23520620

(Ebook) Primary Mathematics Textbook 2B by Jennifer Hoerst ISBN


9780761469797, 0761469796

https://ebooknice.com/product/primary-mathematics-textbook-2b-23519854

(Ebook) My Pals are Here! Maths Pupil's Book 2B by Unknown ISBN


9789810119355, 9810119356

https://ebooknice.com/product/my-pals-are-here-maths-pupil-s-
book-2b-55756818
(Ebook) Bare metal C : Embedded Programming for the Real world by
Stephen Oualline

https://ebooknice.com/product/bare-metal-c-embedded-programming-for-
the-real-world-43526224

(Ebook) Handbook of Macroeconomics, Volume 2A-2B SET by John B.


Taylor, Harald Uhlig ISBN 9780444594877, 0444594876

https://ebooknice.com/product/handbook-of-macroeconomics-
volume-2a-2b-set-5706664

(Ebook) Final FRCR 2B Long Cases: A Survival Guide by Jessie Aw, John
Curtis ISBN 9780521740692, 052174069X

https://ebooknice.com/product/final-frcr-2b-long-cases-a-survival-
guide-1828512

(Ebook) Smart Grammar and Vocabulary: Split edition 2B Student's Book


by H. Q. Mitchell ISBN 9789604434497, 9604434497

https://ebooknice.com/product/smart-grammar-and-vocabulary-split-
edition-2b-student-s-book-23340516

(Ebook) Vi IMproved - Vim by Steve Oualline ISBN 9780735710016,


0735710015

https://ebooknice.com/product/vi-improved-vim-980698
• Table of C ontents
• Index
• Reviews
• Examples
• Reader Reviews
• Errata

Practical C++ Programming


By Steve Oualline

Publisher : O'Reilly
Pub Date : December 2002
ISBN : 0-596-00419-2
Pages : 574

In short, to-the-point chapters, Practical C++ Programming covers all aspects


of programming including style, software engineering, programming design,
object-oriented design, and debugging. It also covers common mistakes and
how to find (and avoid) them. End of chapter exercises help you ensure you've
mastered the material. Steve Oualline's clear, easy-going writing style and
hands-on approach to learning make Practical C++ Programming a nearly
painless way to master this complex but powerful programming language.
• Table of C ontents
• Index
• Reviews
• Examples
• Reader Reviews
• Errata

Practical C++ Programming


By Steve Oualline

Publisher : O'Reilly
Pub Date : December 2002
ISBN : 0-596-00419-2
Pages : 574

C opyright
Preface
Scope of This Handbook
How This Book Is Organized
How to Read This Book If You Already Know C
Font C onventions
How to C ontact Us
Acknowledgments for the First Edition
Acknowledgments for the Second Edition

Part I: The Basics


C hapter 1. What Is C ++?
Section 1.1. A Brief History of C ++
Section 1.2. C ++ Organization
Section 1.3. How to Learn C ++

C hapter 2. The Basics of Program Writing


Section 2.1. Programs from C onception to Execution
Section 2.2. C reating a Real Program
Section 2.3. Getting Help in Unix
Section 2.4. Getting Help in an IDE
Section 2.5. Programming Exercises

C hapter 3. Style
Section 3.1. C omments

Section 3.2. C ++ C ode


Section 3.3. Naming Style
Section 3.4. C oding Religion
Section 3.5. Indentation and C ode Format
Section 3.6. C larity
Section 3.7. Simplicity
Section 3.8. C onsistency and Organization
Section 3.9. Further Reading
Section 3.10. Summary

C hapter 4. Basic Declarations and Expressions


Section 4.1. Basic Program Structure
Section 4.2. Simple Expressions
Section 4.3. The std::cout Output Object
Section 4.4. Variables and Storage
Section 4.5. Variable Declarations
Section 4.6. Integers
Section 4.7. Assignment Statements
Section 4.8. Floating-Point Numbers
Section 4.9. Floating-Point Divide Versus Integer Divide
Section 4.10. C haracters
Section 4.11. Wide C haracters
Section 4.12. Boolean Type
Section 4.13. Programming Exercises
Section 4.14. Answers to C hapter Questions

C hapter 5. Arrays, Qualifiers, and Reading Numbers


Section 5.1. Arrays
Section 5.2. Strings
Section 5.3. Reading Data
Section 5.4. Initializing Variables
Section 5.5. Multidimensional Arrays
Section 5.6. C -Style Strings
Section 5.7. Types of Integers
Section 5.8. Types of Floats
Section 5.9. C onstant and Reference Declarations
Section 5.10. Qualifiers
Section 5.11. Hexadecimal and Octal C onstants
Section 5.12. Operators for Performing Shortcuts
Section 5.13. Side Effects
Section 5.14. Programming Exercises
Section 5.15. Answers to C hapter Questions

C hapter 6. Decision and C ontrol Statements


Section 6.1. if Statement
Section 6.2. else Statement
Section 6.3. How Not to Use std::strcmp
Section 6.4. Looping Statements
Section 6.5. while Statement
Section 6.6. break Statement

Section 6.7. continue Statement


Section 6.8. The Assignment Anywhere Side Effect
Section 6.9. Programming Exercises
Section 6.10. Answers to C hapter Questions

C hapter 7. The Programming Process


Section 7.1. Setting Up Your Work Area
Section 7.2. The Specification
Section 7.3. C ode Design
Section 7.4. The Prototype
Section 7.5. The Makefile
Section 7.6. Testing
Section 7.7. Debugging
Section 7.8. Maintenance
Section 7.9. Revisions
Section 7.10. Electronic Archaeology
Section 7.11. Mark Up the Program
Section 7.12. Use the Debugger
Section 7.13. Use the Text Editor as a Browser
Section 7.14. Add C omments
Section 7.15. Programming Exercises

Part II: Simple Programming


C hapter 8. More C ontrol Statements
Section 8.1. for Statement
Section 8.2. switch Statement
Section 8.3. switch, break, and continue
Section 8.4. Programming Exercises
Section 8.5. Answers to C hapter Questions

C hapter 9. Variable Scope and Functions


Section 9.1. Scope and Storage C lass
Section 9.2. Namespaces
Section 9.3. Functions
Section 9.4. Summary of Parameter Types
Section 9.5. Recursion
Section 9.6. Structured Programming Basics
Section 9.7. Real-World Programming
Section 9.8. Programming Exercises
Section 9.9. Answers to C hapter Questions

C hapter 10. The C ++ Preprocessor


Section 10.1. #define Statement
Section 10.2. C onditional C ompilation
Section 10.3. #include Files
Section 10.4. Parameterized Macros
Section 10.5. Advanced Features
Section 10.6. Summary
Section 10.7. Programming Exercises

Section 10.8. Answers to C hapter Questions

C hapter 11. Bit Operations


Section 11.1. Bit Operators
Section 11.2. The AND Operator (&)
Section 11.3. Bitwise OR (|)
Section 11.4. The Bitwise Exclusive OR (^)
Section 11.5. The Ones C omplement Operator (NOT) (~)
Section 11.6. The Left and Right Shift Operators (<<, >>)
Section 11.7. Setting, C learing, and Testing Bits
Section 11.8. Bitmapped Graphics
Section 11.9. Programming Exercises
Section 11.10. Answers to C hapter Questions

Part III: Advanced Types and C lasses


C hapter 12. Advanced Types
Section 12.1. Structures
Section 12.2. Unions
Section 12.3. typedef
Section 12.4. enum Type
Section 12.5. Bit Members or Packed Structures
Section 12.6. Arrays of Structures
Section 12.7. Programming Exercises
Section 12.8. Answers to C hapter Questions

C hapter 13. Simple C lasses


Section 13.1. Stacks
Section 13.2. Improved Stack
Section 13.3. Using a C lass
Section 13.4. Introduction to C onstructors and Destructors
Section 13.5. Automatically Generated Member Functions
Section 13.6. Shortcuts
Section 13.7. Style
Section 13.8. Structures Versus C lasses
Section 13.9. Programming Exercises

C hapter 14. More on C lasses


Section 14.1. Friends
Section 14.2. C onstant Functions
Section 14.3. C onstant Members
Section 14.4. Static Member Variables
Section 14.5. Static Member Functions
Section 14.6. The Meaning of static
Section 14.7. Programming Exercises

C hapter 15. Simple Pointers


Section 15.1. const Pointers
Section 15.2. Pointers and Printing
Section 15.3. Pointers and Arrays

Section 15.4. The reinterpret_cast

Section 15.5. Pointers and Structures

Section 15.6. C ommand-Line Arguments


Section 15.7. Programming Exercises
Section 15.8. Answers to C hapter Questions

Part IV: Advanced Programming C oncepts


C hapter 16. File Input/Output
Section 16.1. C ++ File I/O
Section 16.2. C onversion Routines
Section 16.3. Binary and ASC II Files
Section 16.4. The End-of-Line Puzzle
Section 16.5. Binary I/O
Section 16.6. Buffering Problems
Section 16.7. Unbuffered I/O
Section 16.8. Designing File Formats
Section 16.9. C -Style I/O Routines
Section 16.10. C -Style C onversion Routines
Section 16.11. C -Style Binary I/O
Section 16.12. C - Versus C ++- Style I/O
Section 16.13. Programming Exercises
Section 16.14. Answers to C hapter Questions

C hapter 17. Debugging and Optimization


Section 17.1. C ode Reviews
Section 17.2. Serial Debugging
Section 17.3. Going Through the Output
Section 17.4. Interactive Debuggers
Section 17.5. Debugging a Binary Search
Section 17.6. Interactive Debugging Tips and Tricks
Section 17.7. Runtime Errors
Section 17.8. Optimization
Section 17.9. How to Optimize
Section 17.10. C ase Study: Inline Functions Versus Normal Functions
Section 17.11. C ase Study: Optimizing a C olor-Rendering Algorithm
Section 17.12. Programming Exercises
Section 17.13. Answers to C hapter Questions

C hapter 18. Operator Overloading


Section 18.1. C reating a Simple Fixed-Point C lass
Section 18.2. Operator Functions
Section 18.3. Operator Member Functions
Section 18.4. Warts
Section 18.5. Full Definition of the Fixed-Point C lass
Section 18.6. Programming Exercises
Section 18.7. Answers to C hapter Questions
C hapter 19. Floating Point

Section 19.1. Floating-Point Format

Section 19.2. Floating Addition/Subtraction


Section 19.3. Multiplication and Division
Section 19.4. Overflow and Underflow
Section 19.5. Roundoff Error
Section 19.6. Accuracy
Section 19.7. Minimizing Roundoff Error
Section 19.8. Determining Accuracy
Section 19.9. Precision and Speed
Section 19.10. Power Series
Section 19.11. Programming Exercises

C hapter 20. Advanced Pointers


Section 20.1. Pointers, Structures, and C lasses
Section 20.2. delete Operator
Section 20.3. Linked Lists
Section 20.4. Ordered Linked Lists
Section 20.5. Doubly Linked Lists
Section 20.6. Trees
Section 20.7. Printing a Tree
Section 20.8. The Rest of the Program
Section 20.9. Data Structures for a C hess Program
Section 20.10. Programming Exercises
Section 20.11. Answers to C hapter Questions

C hapter 21. Advanced C lasses


Section 21.1. Derived C lasses
Section 21.2. Virtual Functions
Section 21.3. Virtual C lasses
Section 21.4. Function Hiding in Derived C lasses
Section 21.5. C onstructors and Destructors in Derived C lasses
Section 21.6. The dynamic_cast Operator
Section 21.7. Summary
Section 21.8. Programming Exercises
Section 21.9. Answers to C hapter Questions

Part V: Other Language Features


C hapter 22. Exceptions
Section 22.1. Adding Exceptions to the Stack C lass
Section 22.2. Exceptions Versus assert
Section 22.3. Programming Exercises

C hapter 23. Modular Programming


Section 23.1. Modules
Section 23.2. Public and Private
Section 23.3. The extern Storage C lass
Section 23.4. Headers
Section 23.5. The Body of the Module

Section 23.6. A Program to Use Infinite Arrays

Section 23.7. The Makefile for Multiple Files

Section 23.8. Using the Infinite Array


Section 23.9. Dividing a Task into Modules

Section 23.10. Module Design Guidelines

Section 23.11. Programming Exercises

C hapter 24. Templates


Section 24.1. What Is a Template?
Section 24.2. Templates: The Hard Way
Section 24.3. Templates: The C ++ Way
Section 24.4. Function Specialization
Section 24.5. C lass Templates
Section 24.6. C lass Specialization
Section 24.7. Implementation Details
Section 24.8. Advanced Features
Section 24.9. Summary
Section 24.10. Programming Exercises

C hapter 25. Standard Template Library


Section 25.1. STL Basics
Section 25.2. C lass List�A Set of Students
Section 25.3. C reating a Waiting List with the STL List
Section 25.4. Storing Grades in a STL Map
Section 25.5. Putting It All Together
Section 25.6. Practical C onsiderations When Using the STL
Section 25.7. Getting More Information
Section 25.8. Exercises

C hapter 26. Program Design


Section 26.1. Design Goals
Section 26.2. Design Factors
Section 26.3. Design Principles
Section 26.4. C oding
Section 26.5. Objects
Section 26.6. Real-World Design Techniques
Section 26.7. C onclusion

C hapter 27. Putting It All Together


Section 27.1. Requirements
Section 27.2. C ode Design
Section 27.3. C oding
Section 27.4. Functional Description
Section 27.5. Testing
Section 27.6. Revisions
Section 27.7. A Final Warning
Section 27.8. Program Files

Section 27.9. Programming Exercises

C hapter 28. From C to C ++


Section 28.1. K&R-Style Functions
Section 28.2. struct

Section 28.3. malloc and free


Section 28.4. Turning Structures into C lasses
Section 28.5. setjmp and longjmp
Section 28.6. Mixing C and C ++ C ode

Section 28.7. Summary


Section 28.8. Programming Exercise

C hapter 29. C ++'s Dustier C orners


Section 29.1. do/while
Section 29.2. goto
Section 29.3. The ?: C onstruct
Section 29.4. The C omma Operator
Section 29.5. Overloading the ( ) Operator
Section 29.6. Pointers to Members
Section 29.7. The asm Statement
Section 29.8. The mutable Qualifier
Section 29.9. Run Time Type Identification
Section 29.10. Trigraphs
Section 29.11. Answers to C hapter Questions

C hapter 30. Programming Adages


Section 30.1. General
Section 30.2. Design
Section 30.3. Declarations
Section 30.4. switch Statement
Section 30.5. Preprocessor
Section 30.6. Style
Section 30.7. C ompiling
Section 30.8. The Ten C ommandments for C ++ Programmers
Section 30.9. Final Note
Section 30.10. Answers to C hapter Questions

Part VI: Appendixes


Appendix A. ASC II Table
Appendix B. Ranges
Appendix C . Operator Precedence Rules
Section C .1. Standard Rules
Section C .2. Practical Subset of the Operator Precedence Rules

Appendix D. C omputing Sine Using a Power Series


Appendix E. Resources
Section E.1. C ompilers
Section E.2. Standard Template Library

Section E.3. Standards

Section E.4. Programming Tools

C olophon
Index
Copyright
Copyright © 2003, 1995 O'Reilly & Associates, Inc.

Printed in the United States of America.

Published by O'Reilly & Associates, Inc., 1005 Gravenstein Highway North,


Sebastopol, CA 95472.

O'Reilly & Associates books may be purchased for educational, business, or


sales promotional use. Online editions are also available for most titles
(http://safari.oreilly.com). For more information, contact our
corporate/institutional sales department: (800) 998-9938 or
[email protected].

Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are
registered trademarks of O'Reilly & Associates, Inc. Many of the designations
used by manufacturers and sellers to distinguish their products are claimed as
trademarks. Where those designations appear in this book, and O'Reilly &
Associates, Inc. was aware of a trademark claim, the designations have been
printed in caps or initial caps. The association between the image of an Eastern
chipmunk and the topic of C++ programming is a trademark of O'Reilly &
Associates, Inc.

While every precaution has been taken in the preparation of this book, the
publisher and authors assume no responsibility for errors or omissions, or for
damages resulting from the use of the information contained herein.
Preface
This book is devoted to practical C++ programming. It teaches you not only
the mechanics of the language, but also style and debugging. The entire life
cycle of a program is discussed, including conception, design, writing,
debugging, release, documentation, maintenance, and revision.

Style is emphasized. Creating a good program involves more than just typing
code. It is an art in which writing and programming skills blend to form a
masterpiece. A well-written program not only functions correctly, but also is
simple and easy to understand. Comments allow programmers to include
descriptive text in their programs. Clearly written, well-commented programs
are highly prized.

A program should be as simple as possible. Avoid the use of clever tricks.


Cleverness and complexity can kill programs. This book stresses simple,
practical rules. For example, the 15 operator-precedence rules in C++ can be
simplified to 2:

1. Multiply and divide before you add and subtract.

Put parentheses around everything else.

Consider two programs. One was written by a clever programmer, using all the
tricks. The program contains no comments, but it works. The other is nicely
commented and well structured, but doesn't work. Which program is more
useful? In the long run, the "broken" one is more useful because it can be
fixed and maintained easily. Although the clever one works now, sooner or
later it will have to be modified. The hardest work you will ever have to do is
modifying a cleverly written program.
Scope of This Handbook

This handbook is written for people with no previous programming experience,


for programmers who know C and want to upgrade their skills to C++, and for
those who already know C++ and want to improve their programming style
and reliability. You should have access to a computer and know how to use the
basic functions such as the text editor and file system.

Computer languages are best learned by writing and debugging programs.


Sweating over a broken program at two o'clock in the morning only to find
that you typed = where you should have typed == is a very effective teaching
tool. This book contains many examples of common programming errors.
(They are labeled as broken programs in the text.) You are encouraged to
enter these programs into your computer and then run and debug them. This
process introduces you to common errors using short programs so you will
know how to spot and correct such errors in your own larger programs.
(Instructions for obtaining copies of the programs presented in this book are
located at the end of this preface.)

Several dialects of C++ are presented:

A "generic" Unix compiler that should work on most Unix systems

The GNU C++ compiler, named g++ (available for most Unix systems[1])

[1]The GNU g++ compiler can be obtained from http://www.gnu.org,


or you can contact the Free Software Foundation, Inc., at 675
Massachusetts Avenue, Cambridge, MA 02139, (617) 876-3296.

Borland C++ for MS-DOS/Windows

Microsoft's Visual C++ for MS-DOS/Windows

As far as standard C++ is concerned, there are only minor differences among
the various compilers. This book clearly indicates where compiler differences
can affect the programmer. Specific instructions are given for producing and
running programs using each of these compilers. The book also gives examples
of using the programming utility make for automated program production.
How This Book Is Organized

You must crawl before you walk. In Part I, you learn how to crawl. These
chapters teach you enough to write very simple programs. You start with the
mechanics of programming and programming style. Next, you learn how to use
variables and very simple decision and control statements.

At this point you will have learned enough to create very simple programs;
therefore, in Chapter 7, you embark on a complete tour of the programming
process that shows you how real programs are created.

Chapter 1 gives you an overview of C++, describes its history and uses,
and explains how the language is organized.

Chapter 2 explains the basic programming process and gives you enough
information to write a very simple program.

Chapter 3 discusses programming style. How to comment a program is


covered, as well as how to write clear and simple code.

Chapter 4 introduces simple C++ statements. Basic variables and the


assignment statement are covered in detail along with the arithmetic
operators: +, -, *, /, and %.

Chapter 5 covers arrays and more complex variables. The shorthand


operators ++, -- , *=, =, +=, -=, /=, and %= are described.

Chapter 6 explains simple decision statements including if, else, and for.
The problem of == versus = is discussed.

Chapter 7 takes you through the steps required for creating a simple
program, from specification through release. Fast prototyping and
debugging are discussed.

Part II describes all the other simple statements and operators that are used in
programming. You also learn how to organize these statements into simple
functions.

Chapter 8 describes additional control statements. Included are while,


break, and continue. The switch statement is discussed in detail.

Chapter 9 introduces local variables, namespaces, functions, and


parameters.

Chapter 10 describes the C++ preprocessor, which gives you great


flexibility in creating code. It also provides a tremendous number of ways
for you to screw up. Simple rules that help keep the preprocessor from
becoming a problem are described.

Chapter 11 discusses the logical C++ operators that work on bits.

In Part III you learn how basic declarations and statements can be used in the
construction of advanced types such as structures, unions, and classes. You
also learn about the concept of pointers.

Chapter 12 explains structures and other advanced types. The sizeof


operator and the enum type are included.

Chapter 13 introduces the concept of a class. This is one of the more


powerful features of C++. Classes allow you to group data and the
operations that can be performed on that data into one object.

Chapter 14 describes additional operations that can be performed with


classes.

Chapter 15 introduces C++ pointer variables and shows some of their


uses.

Advanced programming techniques are explored in Part IV. In this section, you
explore a number of C++ features that let you create complex, yet easy-to-
use objects or classes.

Chapter 16 describes both buffered and unbuffered input/output (I/O).


ASCII and binary files are discussed and you are shown how to construct a
simple file. Old C-style I/O operations are also included.

Chapter 17 describes how to debug a program and how to use an


interactive debugger. You are shown not only how to debug a program, but
also how to write a program so that it is easy to debug. This chapter also
describes many optimization techniques to make your programs run faster
and more efficiently.

Chapter 18 explains that C++ allows you to extend the language by


defining additional meanings for the language's operators. In this chapter,
you create a complex type and the operators that work on it.

Chapter 19 uses a simple decimal floating-point format to introduce the


problems inherent in using floating points, such as roundoff errors,
precision loss, overflow, and underflow.

Chapter 20 describes advanced use of pointers to construct dynamic


structures such as linked lists and trees.

Chapter 21 shows how to build complex, derived classes out of simple,


base ones.

Several miscellaneous features are described in Part V.

Chapter 22 explains how to handle unexpected conditions within a


program.

Chapter 23 shows how to split a program into several files and use
modular programming techniques. The make utility is explained in more
detail.

Chapter 24 allows you to define a generic function or class that generates


a family of functions.

Chapter 25 describes the template library that comes with C++. This
library consists of a number of "container templates" and related data
structures which let you create very complex and robust data structures
with very little work.

Chapter 26 discusses some of the methodologies used to design programs,


such as structured programming and object-oriented design. Not only are
the design methods discussed, but also the reasoning that went into the
design of the program.

Chapter 27 details the steps necessary to take a complex program from


conception to completion. Information hiding and modular programming
techniques, as well as object-oriented programming, are stressed.

Chapter 28 describes how to turn C code into C++ code and addresses
many of the traps lurking in C code that bite the C++ programmer.

Chapter 29 describes the little used do/while statement, the comma


operator, and the ?: operators.

Chapter 30 lists programming adages that will help you construct good
C++ programs.

Part VI contains additional C++ reference information.

Appendix A contains a list of character codes and their values.

Appendix B lists the numeric ranges of some C++ variable types.

Appendix C lists the rules that determine the order in which operators are
evaluated.

Appendix D contains a program that shows how the computer can compute
the value of the sine function.

Appendix E lists information on the programming resources mentioned in


the book.
How to Read This Book If You Already Know C

C++ is built on the C language. If you know C, you will find much of the
material presented in Chapter 2 through Chapter 12 familiar.

C++ does introduce a number of new minor improvements to C++, including:

An entirely new I/O system. (The basics are described in Chapter 4. The
new file system is discussed in detail in Chapter 16.)

Constants and reference variables (described in Chapter 5).

Function overloading, inline functions, reference parameters, and default


parameters. (Read Chapter 9.)

So you can use C++ as a better C. But C++ has added some entirely new
features such as objects, templates, and exceptions. So starting with Chapter
13, you will begin to learn entirely new concepts.
Exploring the Variety of Random
Documents with Different Content
"Then thou shalt share our humble fare this night, and then thou
shalt on the morrow take the vow and receive the Cross from my
own hands, after the Mass which follows Terce."
Osric bowed in joyful assent. And that night he dined at the
monastic table of Lollingdune Grange. The humble fare was the most
sumptuous he had ever known; for at Wallingford Castle they paid
small attention to the culinary art—quantity, not quality, was their
motto; they ate of meat half raw, thinking it increased their ferocity;
and "drank the red wine through the helmet barred."
But it was not so here; the weakness of the monastic orders, if it
was a weakness, was good cooking.
"Why should we waste or spoil the good things God has given us?"
they asked.
We wish our space permitted us to relate the conversation which
had place at that table. The Abbot of Reading was devoted more or
less to King Stephen, for Maude, in one of her progresses, had
spoiled the abbey and irritated the brethren by exacting heavy
tribute. So they told many stories of the misdeeds of the party of the
Empress, and many more of the cruelties of Brian Fitz-Count, whose
lordly towers were visible in the distance.
Osric sat at table next to the lord Abbot, which was meant for a
great distinction.
"In what school, my son, hast thou studied the warlike art and the
science of chivalry?" asked the Abbot.
"In the Castle of Wallingford, my lord."
"I could have wished thee a better school, but doubtless thou art
leaving them in disgust with their evil deeds of which we hear daily;
in fact, we are told that the townspeople cannot sleep for the shrieks
of the captives in the towers."
"It is in order to atone for ever having shared in their deeds that I
have left them, and the very penance laid on me is to fight for the
Cross of Christ in atonement for my error."
"And what will Brian think of it?"
"I must not let him get hold of me."
"Then tarry here till I return to Reading, and assuming the palmer's
dress, travel in our train out of his country; he will not dare to assail
us."
It was wise counsel.
On the morrow Mass was said in the chapel, which occupied the
upper story of the house, over the dormitories, under a high arched
roof, which was the general arrangement in such country houses of
the monks;[28] and at the offertory Osric offered himself to God as
a Crusader, took the vow, and the Abbot bound the red cross on his
arm.
FOOTNOTES:
[27] This cruelly ingenious contrivance of thumbscrew, lock, and
steel chain may be seen at the house of John Knox, at Edinburgh,
amongst other similar curiosities.
[28] The author has twice seen the remains of such chapels in the
upper stories of farmhouses—once monastic granges.
CHAPTER XXVI
SWEET SISTER DEATH[29]

The reader may feel quite sure that such a nature as Evroult's was
not easily conquered by the gentle influences of Christianity; indeed,
humanly speaking, it might never have yielded had not the weapon
used against it been Love.
One day, as he sat rapt in thought on the sunny bank outside the
hermitage, the hermit and Richard talking quietly at a short distance,
he seemed to receive a sudden inspiration,—he walked up to
Meinhold.
"Father, tell me, do you think you can recover of the leprosy you
have caught from us?"
"I do not expect to do so."
"And do you not wish we had never come here?"
"By no means; God sent you."
"And you give your life perhaps for us?"
"The Good Shepherd gave His life for me."
"Father, I have tried not to listen to you, but I can fight against it no
longer. You are right in all you say, and always have been, only—only
——"
A pause. The hermit waited in silent joy.
"Only it was so hard to flesh and blood."
"And can you yield yourself to His Will now?"
"I am trying—very hard; I do not even yet know whether I quite
can."
"He will help you, dear boy; He knows how hard it is for us weak
mortals to overcome self."
"I knew if I had kept well I should have grown up violent, wicked,
and cruel, and no doubt have lost my soul. Do you not think so,
father?"
"Very likely, indeed."
"And yet I have repined and murmured against Him Who brought
me here to save me."
"But He will forgive all that, now you truly turn to Him and submit to
His Will."
"I try to give myself to Him to do as He pleases."
"And you believe He has done all things well?"
"Yes."
"Even the leprosy?"
"Yes, even that."
"You are right, my dear son; we must all be purified through
suffering, for what son is he whom the Father chasteneth not? and if
we are not partakers thereof, then are we bastards and not sons. All
true children of God have their Purgatory here or hereafter—far
better here. He suffered more for us."

A few days passed away after this conversation, and a rapid change
for the worse took place in poor Evroult's physical condition. The fell
disease, which had already disfigured him beyond recognition,
attacked the brain. His brother and the hermit could not desire his
life to be prolonged in such affliction, and they silently prayed for his
release, grievous although the pang of separation would be to them
both—one out of their little number of three.
One day he had been delirious since the morning, and at eventide
they stood still watching him. It had been a dark cloudy day, but
now at sunset a broad vivid glory appeared in the west, which was
lighted up with glorious crimson, azure, and gold, beneath the edge
of the curtain of cloud.
"'At eventide it shall be light,'" quoted Meinhold.
"See, he revives," said Richard.
He looked on their faces.
"Oh brother, oh dear father, I have seen Him; I have heard with the
hearing of the ear, but now mine eye hath seen Him."
They thought he spake of a vision, but it may have been, probably
was, but a revelation to the inward soul.
"And now, dear father, give me the Viaticum; I am going, and want
my provision for the way."
He spoke of the Holy Communion, to which this name was given
when administered to the dying.
Then followed the Last Anointing, and ere it was over they saw the
great change pass upon him. They saw Death, sometimes called the
grim King of Terrors, all despoiled of his sting; they saw the feeble
hand strive to make the Holy Sign, then fall back; while over his face
a mysterious light played as if the door of Paradise had been left ajar
when the redeemed soul passed in.
"Beati qui in Domino morinutur," said Meinhold; "his Purgatory was
here. Do not cry, Richard; the happy day will soon come when we
shall rejoin him."
They laid him out before the altar in their rude chapel, and prepared
for the last funeral rite.

Meanwhile disfigured forms were stealing through the woods, and


finding a shelter in various dens and caves, or sleeping round fires
kindled in the open or in woodcutters' huts, deserted through fear of
them; as yet they had not found the hermit's cave or entered the
Happy Valley.
On the morrow Meinhold celebrated the Holy Eucharist, and
afterwards performed the burial service with simplest rites; they
then committed the body to the earth, and afterwards wandered
together, discoursing sweetly on the better life, into the forest,
where the twilight was

"Like the Truce of God


With earthly pain and woe."

Never were they happier—never so full of joy and resignation—these


two unfortunates, as the world deemed them; bearing about the
visible sentence of death on themselves, but they had found the
secret of a life Death could not touch.
And in their walk they came suddenly upon a man, who reposed
under the shadow of a tree; he seemed asleep, but talked and
moaned as if in a feverish dream.
"Father, he is a leper like us, look."
"God has sent him, perhaps, in the place of Evroult."
They woke him.
"Where am I?"
"With friends. Canst walk to our home; it is not far?"
"Angels from Heaven. Yes, I can walk—see."
But without their assistance he could never have reached the cave.
They gave him food; he took little, but drank eagerly.
"How did you come here?"
He told them of the plague at Byfield, and of the death of the
Chaplain.
"Happy man!" said Meinhold; "he laid down his life for the sheep the
Good Shepherd had committed to his care." And so may we, he
thought.
That night the poor man grew worse; the dark livid hue overspread
him. Our readers know the rest.

Voices might have been heard in the cave the next day—sweet
sounds sometimes as if of hymns of praise.
The birds and beasts came to the hermit's cave, and marvelled that
none came out to feed them—that no crumbs were thrown to them,
no food brought forth. A bold robin even ventured in, but came out
as if affrighted, and flew right away.
They sang their sweet songs to each other. No human ear heard
them; but the valley was lovely still.
Who shall go into that cave and wake the sleepers? Who?
Then came discordant noises, spoiling nature's sweet harmony—the
baying of hounds, the cries of men sometimes loud and discordant,
sometimes of those who struggled, sometimes of those in pain.
Louder and louder—the hunt is up—the horse and hound invade the
glen.
A troop of affrighted-looking men hasten down the valley.
Look, they are lepers.
They have cause to fear; the deep baying of the mastiffs is
deepening, drawing near.
They espy the cave—they rush towards it up the slope—in they
dash.
Out again.
Another group of fugitives follow.
"The cave! the cave! we may defend the mouth."
"There are three there already," said the first.
"Three?"
"Dead of the Plague."
And they would have run away had not the hunters and dogs come
upon them, both ways, up and down the glen.
They are driven in—some two score in all.
The leaders of the pursuing party pause.
"I think," says a dark baron, "I see a way out of our difficulty
without touching a leper."
"Send the dogs in."
"In vain; they will not go; they scent something amiss."
"This cave has but one opening."
"I have heard that a hermit lived here with two young lepers."
"Call him."
"Meinhold! Meinhold!"
No reply.
"He is dead long ago, I daresay."
"If he does not come out it is his own fault."
"There were two young lepers who dwelt with him."
"What business had he with lepers?"
"All the world knew it, and he had caught it himself."
"Then we will delay no longer. God will know His own." And then he
gave the fatal order.
"Gather brushwood, sticks, reeds, all that will burn, and pile it in the
mouth of the cave."
They did so.
"Fire it."
The dense clouds of smoke arose, and as they hoped in their cruelty,
were sucked inward.
"There must be a through draught."
"Can they get out?"
"No, lord baron."
"Watch carefully lest there be other outlets. We must stamp this foul
plague out of the land."
Then they stood and watched.
The flames crackled and roared; dense volumes of smoke arose,
now arising above the trees, now entering the cave; the birds
screamed overhead; the fierce men looked on with cruel curiosity;
but no sound was heard from within.
At this moment the galloping of horsemen was heard. "Our brother
of Kenilworth, doubtless."
But it was not. A rider in dark armour appeared at the head of a
hundred horsemen.
"What are you doing?" cried a stern voice.
"Smoking lepers out."
"Charge them! cut them down! slay all!"
And the Wallingford men charged the incendiaries as one man. Like
a thunderbolt, slaying, hewing, hacking, chopping, cleaving heads
and limbs from trunks, with all the more deadly facility as their more
numerous antagonists lacked armour, having only come out to slay
lepers.
The Baron of Hanwell Castle was a corpse; so was the knight of
Cropredy Towers; so was the young lord of Southam; others were
writhing in mortal agony, but within a quarter of an hour more, only
the dead and dying disputed the field with the Wallingford men. The
rest had fled, finding the truth of the proverb, "There be many that
come out to shear and go back shorn."
"Drag the branches away! pull out the faggots! extinguish the fire!
scatter it! fight fire as ye have fought men!"
That was done too. They dispersed the fuel, they scattered the
embers; and hardly was this done than Brian rushed in the cave,
through the hot ashes. But scarce could he stay in a moment, the
smoke blinded—choked him.
Out again, almost beside himself with rage, fear for his boys, and
vexation.
In again. Out again.
So three or four abortive attempts.
At last the smoke partially dispersed, and he could enter.
The outer cave was empty.
But in the next subterranean chamber lay a black corpse—a full-
grown man. Brian knew him not. He crossed this cave and entered
the next one, and by the altar knew it was their rude chapel.
Before the altar lay two figures; their hands clasped in the attitude
of prayer; bent to the earth; still—motionless.
Their faces, too, were of the same dark hue.
The one wore the dress of a hermit, the other was a boy of some
sixteen years.
Brian recognised his younger son in the latter, rather by instinct and
by knowledge of the circumstances than otherwise.
"It is my Richard. But where is Evroult?"
"Here," said a voice,—"read."
Upon the wall was a rude inscription, scratched thereon by Meinhold,
his last labour of love—
EVROULT IN PACE.
Little as he possessed the power of reading, Brian recognised his
son's name, and understood all. The strong man fell before that
altar, and for the first time in many years recognised the Hand which
had stricken him.
They dragged him away, as they felt that the atmosphere was
dangerous to them all—as indeed it was.
"Leave them where they are—better tomb could they not have; only
wall up the entrance."
And they set to work, and built huge stones into the mouth of the
cave—
"Leaving them to rest in hope—
Till the Resurrection Day."

And what had become of the other lepers?


Driven by the smoke, they had wandered into the farthest recesses
of the cave—once forbidden to Evroult by the hermit.
Whether they perished in the recesses, or whether they found some
other outlet, and emerged to the upper day, we know not. No
further intelligence of the poor unfortunates reached the living, or
has been handed down to posterity.

And now, do my readers say this is a very melancholy chapter? Do


they pity, above all, the hermit and Richard, struck down by the
pestilence in an act of which Christ would have said, "Inasmuch as
ye did it to the least of these My brethren, ye did it unto Me"?
The pestilence saved them from the lingering death of leprosy, and
even had they lived to grow old, they had been dust and ashes
seven centuries ago. What does it matter now whether they lived
sixteen or sixty years? The only point is, did they, through God's
grace, merit to hear the blessed words, "Well done, good and
faithful servant, enter into the joy of your Lord"?
And we think they did.

FOOTNOTE:
[29] So called by St. Francis of Assisi.
CHAPTER XXVII
FRUSTRATED

Had the Abbot of Reading seen fit, or rather had the business on
which he came to Lollingdune allowed him to return home on the
day in which he had decorated Osric with the red cross, it had been
well for all parties, save the writer; for the entangled web of
circumstance which arose will give him scope for another chapter or
two, he trusts, of some interest to the reader.
As it was, Osric was thrown upon his own resources for the rest of
that day, after the Mass was over; and his thoughts not unnaturally
turned to his old home, where the innocent days of his childhood
had been spent, and to his old nurse Judith, sole relict of that
hallowed past.
Could he not bid her farewell? He had an eye, and he could heed; he
had a foot, and he could speed—let Brian's spies watch ever so
narrowly.
Yes, he must see her. Besides, Osric loved adventure: it was to him
the salt of life. He loved the sensation of danger and of risk. So,
although he knew that there must be a keen hunt on foot from
Wallingford Castle after the fugitives, and that the old cottage might
be watched, he determined to risk it all for the purpose of saying
good-bye to his dear old nurse.
So, without confiding his purpose to any one, he started on foot. He
passed the old church of Aston Upthorpe, where his grandfather lay
buried, breathing a prayer for the old man, as also a thanksgiving for
the teaching which had at last borne fruit, for he felt that he was
reconciled to God and man, now that he had taken the Holy Vow,
and abandoned his godless life at Wallingford Castle. Then passing
between the outlying fort of Blewburton and the downs, he entered
the maze of forest.
But as he approached the spot, he took every precaution. He
scanned each avenue of approach from Wallingford; he looked warily
into each glade; anon, he paused and listened, but all was still, save
the usual sounds of the forest, never buried in absolute silence.
At length he crossed the stream and stood before the door of the
hut. He paused one moment; then he heard the well-known voice
crooning a snatch of an old ballad; he hesitated no longer.
"Judith!"
"My darling," said the fond old nurse, "thou hast come again to see
me. Tell me, is it all right? Hast thou found thy father?"
"I have."
"Where? Tell me?"
"At Dorchester Abbey of course."
Judith sighed.
"And what did he say to thee?"
"Bade me go on the Crusades. And so I have taken the vow, and to-
morrow I leave these parts perhaps, for ever."
"Alas! it is too bad. Why has he not told thee the whole truth? Woe
is me! the light of mine eyes is taken from me. I shall never see thee
again."
"That is in God's hands."
"How good thou hast grown, my boy! Thou didst not talk like this
when thou camest home from the castle."
"Well, perhaps I have learnt better;" and he sighed, for there was a
reproach, as if the old dame had said, "Is Saul also amongst the
prophets?"
"But, my boy," she continued, "is this all? Did not Wulfnoth—I mean
Father Alphege—tell thee more than this?"
"What more could he tell me?"
She rocked herself to and fro.
"I must tell him; but oh, my vow——"
"Osric, my child, my bonnie boy, thou dost not even yet know all,
and I am bound not to tell thee. But I was here when thou wast
brought home by Wulfnoth, a baby-boy; and—and I know what I
found out—I saw—God help me: but I swore by the Black Cross of
Abingdon I would not tell."
"Judith, what can you mean?"
"If you only knew, perhaps you would not go on this crusade."
"Whither then? I must go."
"To Wallingford."
"But that I can never do. I have broken with them and their den of
darkness for ever."
"Nay, nay; it may be all thine own one day, and thou mayst let light
into it."
"What can you mean? You distract me."
"I cannot say. Ah!—a good thought. You may look—I didn't say I
wouldn't show. See, Osric, I will show thee what things were on thy
baby-person when thou wast brought home. Here—look."
She rummaged in her old chest and brought forth—a ring with a
seal, a few articles of baby attire, a little red shoe, a small frock, and
a lock of maiden's hair.
"Look at the ring."
It bore a crest upon a stone of opal.
The crest was the crest of Brian Fitz-Count.
"Well, what does this mean?" said Osric. "How came this ring on my
baby-self?"
"Dost thou not see? Blind! blind! blind!"
"And deaf too—deaf! deaf! deaf!" said a voice. "Dost thou not hear
the tread of horses, the bay of the hound, the clamour of men who
seek thee for no good?"
It was young Ulric who stood in the doorway.
"Good-bye, nurse; they are after me; I must go."
"What hast thou done?"
"Let all their captives loose. Farewell, dear nurse;" and he embraced
her.
"Haste, Osric, haste," said the youthful outlaw, "or thou wilt be
taken."
They dashed from the hut.
"This way," said Ulric.
And they crossed the stream in the opposite direction to the
advancing sounds.
"I lay hid in the forest and heard them say they would seek thee in
thine old home, as they passed my lurking-place."
"Now, away."
"But they may hurt Judith. Nay, Brian has not yet returned, cannot
yet have come back, and without his orders they would not dare. He
forbade them once before even to touch the cottage."
They pressed onward through the woods.
"Whither do we go?" said Osric, who had allowed his young
preserver to lead.
"To our haunt in the swamp."
"You have saved me, Ulric."
"Then it has been measure for measure, for didst thou not save me
when in direful dumps? Wilt thou not tarry with us, and be a merry
man of the greenwood?"
"Nay, I am pledged to the Crusades."
Ulric was about to reply, when he stopped to listen.
"There is the bay of that hound again: it is one of a breed they have
trained to hunt men."
"I know him—it is old Pluto; I have often fed him: he would not hurt
me."
"But he would discover thee, nevertheless, and I should not be safe
from his fangs."
"Well, we are as swift of foot as they—swifter, I should think. Come,
we must jump this brook."
Alas! in jumping, Osric's foot slipped from a stone on which he most
unhappily alighted, and he sank on the ground with a momentary
thrill of intense pain, which made him quite faint.
He had sprained his ankle badly.
Ulric turned pale.
Osric got up, made several attempts to move onward, but could only
limp painfully forward.
"Ulric, I should only destroy both thee and me by perseverance in
this course."
"Never mind about me."
"But I do. See this umbrageous oak—how thick its branches; it is
hollow too. I know it well. I will hide in the tree, as I have often
done when a boy in mere sport. You run on."
"I will; and make the trail so wide that they will come after me."
"But will not this lead them to the haunt?"
"Water will throw them when I come to the swamps. I can take
care."
"Farewell, then, my Ulric; the Saints have thee in their holy keeping."
The two embraced as those who might never meet again—but as
those who part in haste—and Ulric plunged into the thicket and
disappeared.
Osric lay hidden in the branches of the hollow tree. There was a
comfortable seat about ten feet from the ground, the feet hidden in
the hollow of the oak, the head and shoulders by the thick foliage.
He did not notice that Ulric had divested himself of an upper
garment he wore, and left it accidentally or otherwise on the ground.
All was now still. The sound of the boy's passage through the thick
bushes had ceased. The scream of the jay, the tap of the
woodpecker, the whirr of an occasional flight of birds alone broke the
silence of the forest day.
Then came a change. The crackling of dry leaves, the low whisper of
hunters, and that sound—that bell-like sound—the bay of the hound,
like a staunch murderer, steady to his purpose, pursuing his prey
relentlessly, unerringly, guided by that marvellous instinct of scent,
which to the pursued seemed even diabolical.
At last they broke through the bushes and passed beneath the tree
—seven mounted pursuers.
"See, here is the trail; it is as plain as it can be," cried Malebouche;
for it was he, summoned in the emergency from Shirburne, the
Baron not having yet returned—six men in company.
But the dog hesitated. They had given him a piece of Osric's raiment
to smell before starting, and he pointed at the tree.
Luckily the men did not see it; for they saw on the ground the tunic
Ulric had thrown off to run, with the unselfish intention that that
should take place which now happened, confident he could throw off
the hound.
The men thrust it to the dog's nose, thinking it Osric's,—they knew
not there were two—and old Pluto growled, and took the new scent
with far keener avidity than before, for now he was bidden to chase
one he might tear. Before it was a friend, the scent of whose raiment
he knew full well. They were off again.
All was silence once more around the hollow tree for a brief space,
and Osric was just about to depart and try to limp to Lollingdune,
when steps were heard again in the distance, along the brook,
where the path from the outlaws' cave lay.
Osric peered from his covert: they were passing about a hundred
yards off.
Oh, horror! they had got Ulric.
"How had it chanced?"
Osric never knew whether the dog had overtaken him, or what
accident had happened; all he saw was that they had the lad, and
were taking him, as he judged, to Wallingford, when they halted and
sat down on some fallen trees, about a hundred yards from his
concealment. They had wine, flesh, and bread, and were going to
enjoy a mediæval picnic; but first they tied the boy carefully to a
tree, so tightly and cruelly that he must have suffered much
unnecessary pain; but little recked they.
The men ate and drank, the latter copiously. So much the worse for
Ulric—drink sometimes inflames the passions of cruelty and violence.
"Why should we take him home? our prey is about here
somewhere."
"Why not try a little torture, Sir Squire—a knotted string round the
brain? we will make him tell all he knows, or make the young villain's
eyes start out of his forehead."
The suggestion pleased Malebouche.
"Yes," he said, "we may as well settle his business here. I have a
little persuader in my pocket, which I generally carry on these
errands; it often comes useful;" and he produced a small
thumbscrew.
Enough; we will spare the details. They began to carry out their
intention, and soon forced a cry from their victim—although, judging
from his previous constancy, I doubt whether they would have got
more—when they heard a sound—a voice—
"Stop! let the lad go; he shall not be tortured for me. I yield myself
in his place."
"Osric! Osric!"
And the men almost leapt for joy.
"Malebouche, I am he you seek—I am your prisoner; but let the boy
go, and take me to Wallingford."
"Oh, why hast thou betrayed thyself?" said Ulric.
"Not so fast, my young lord, for lord thou didst think thyself—thou
bastard, brought up as a falcon. Why should I let him go? I have you
both."
But the boy had been partially untied to facilitate their late
operations, which necessitated that the hands cruelly bound behind
the back should be released; and while every eye was fixed on Osric,
he shook off the loosened cord which attached him to the tree, and
was off like a bird.
He had almost escaped—another minute and he had been beyond
arrow-shot—when Malebouche, snatching up a bow, sent a long
arrow after him. Alas! it was aimed with Norman skill, and it pierced
through the back of the unfortunate boy, who fell dead on the grass,
the blood gushing from mouth and nose.
Osric uttered a plaintive cry of horror, and would have hurried to his
assistance, but they detained him rudely.
"Nay, leave him to rot in the woods—if the wolves and wild cats do
not bury him first."
And they took their course for Wallingford, placing their prisoner
behind a horseman, to whom they bound him, binding also his legs
beneath the belly of the horse.
After a little while Malebouche turned to Osric—
"What dost thou expect when our lord returns?"
"Death. It is not the worst evil."
"But what manner of death?"
"Such as may chance; but thou knowest he will not torture me."
"He may hang thee."
"Wait and see. Thou art a murderer thyself, for whom hanging is
perhaps too good. God may have worse things in store for thee.
Thou hast committed murder and sacrilege to-day."
"Sacrilege?"
"Yes; thou hast seized a Crusader. Dost not see my red cross?"
"It is easy to bind a bit of red rag crossways upon one's shoulder.
Who took thy vows?"
"The Abbot of Reading; he is now at Lollingdune."
"Ah, ah! Brian Fitz-Count shall settle that little matter; he may not
approve of Crusaders who break open his castle. Take him to
Wallingford, my friends. I shall go back and get that deer we slew
just before we caught the boy; our larder is short."
So Malebouche rode back into the forest alone.
Let us follow him.
It was drawing near nightfall. The light fleecy clouds which floated
above were fast losing the hues of the departing sun, which had
tinted their western edges with crimson; the woods were getting dim
and dark; but Malebouche persisted in his course. He had brought
down a fine young buck with his bow, and had intended to send for
it, being at that moment eager in pursuit of his human prey; but
now he had leisure, and might throw it across his horse, and bring it
home in triumph.
Before reaching the place the road became very ill-defined, and
speedily ceased to be a road at all; but Malebouche could still see
the broken branches and trampled ground along which they had
pursued their prey earlier in the day.
At last he reached the deer, and tying the horse to a branch of a
tree, proceeded to disembowel it ere he placed it across the steed,
as was the fashion; but as he was doing this, the horse made a
violent plunge, and uttered a scream of terror. Malebouche turned—
a pair of vivid eyes were glaring in the darkness.
It was a wolf, attracted by the scent of the butchery.
Malebouche rushed to the aid of his horse, but before he could
reach the poor beast it broke through all restraint in its agony of fear
that the wolf might prefer horse-flesh to venison, and tearing away
the branch and all, galloped for dear life away, away, towards distant
Wallingford, the wolf after it; for when man or horse runs, the
savage beast, whether dog or wolf, seems bound to follow.
So Malebouche was left alone with his deer in the worst possible
humour.
It was useless now to think of carrying the whole carcass home; so
he cut off the haunch only, and throwing it over his shoulder,
started.
A storm came drifting up and obscured the rising moon—the woods
grew very dark.
Onward he tramped—wearily, wearily, tramp! tramp! splash! splash!
He had got into a bog.
How to get out of it was the question. He had heard there was a
quagmire somewhere about this part of the forest, of bottomless
depth, men said.
So he strove to get back to firm ground, but in the darkness went
wrong; and the farther he went the deeper he sank.
Up to the knees.
Now he became seriously alarmed, and abandoned his venison.
Up to the middle.
"Help! help!" he cried.
Was there none to hear?
Yes. At this moment the clouds parted, and the moon shone forth
through a gap in their canopy—a full moon, bright and clear.
Before him walked a boy, about fifty yards ahead.
"Boy! boy! stop! help me!"
The boy did not turn, but walked on, seemingly on firm ground.
But Malebouche was intensely relieved.
"Where he can walk I can follow;" and he exerted all his strength to
overtake the boy, but he sank deeper and deeper.
The boy seemed to linger, as if he heard the cry, and beckoned to
Malebouche to come to him.
The squire strove to do so, when all at once he found no footing,
and sank slowly.
He was in the fatal quagmire of which he had heard.
Slowly, slowly, up to the middle—up to the neck.
"Boy, help! help! for Heaven's sake!"
The boy stood, as it seemed, yet on firm ground. And now he threw
aside the hood that had hitherto concealed his features, and looked
Malebouche in the face.
It was the face of the murdered Ulric upon which Malebouche gazed!
and the whole figure vanished into empty air as he looked.
One last despairing scream—then a sound of choking—then the
head disappeared beneath the mud—then a bubble or two of air
breaking the surface of the bog—then all was still. And the mud kept
its secret for ever.
CHAPTER XXVIII
FATHER AND SON

Meanwhile Osric was brought back as a prisoner to the grim


stronghold where for years his position had been that of the
chartered favourite of the mighty Baron who was the lord thereof.
When the news had spread that he was at the gates, all the inmates
of the castle—from the grim troopers to the beardless pages—
crowded to see him enter, and perhaps to exult over the fallen
favourite; for it is not credible that the extraordinary partiality Brian
had ever shown Osric should have failed to excite jealousy, although
his graceful and unassuming bearing had done much to mollify the
feeling in the hearts of many.
And there was nought common or mean in his behaviour; nor, on
the other hand, aught defiant or presumptuous. All was simple and
natural.
"Think you they will put him to the torture?" said a youngster.
"They dare not till the Baron returns," said his senior.
"And then?"
"I doubt it."
"The rope, then, or the axe?"
"Perchance the latter."
"But he is not of gentle blood."
"Who knows?"
"If it were you or I?"
"Hanging would be too good for us."
In the courtyard the party of captors awaited the orders of the Lady
Maude, now regent in her stern husband's absence. They soon
came.
"Confine him strictly, but treat him well."
So he was placed in the prison reserved for the captives of gentle
birth, or entitled to special distinction, in the new buildings of Brian's
Close; and Tustain gnashed his teeth, for he longed to have the
torturing of him.
Unexpected guests arrived at the castle that night—that is,
unexpected by those who were not in the secret of the letters Osric
had written and the Baron had sent out when Osric last played his
part of secretary—Milo, Earl of Hereford, and Sir Alain of St. Maur,
some time page at Wallingford.
At the banquet the Lady Maude, sorely distressed, confided her
griefs to her guests.
"We all trusted him. That he should betray us is past bearing."
"Have you not put him on the rack to learn who bought him?"
"I could not. It is as if my own son had proved false. We all loved
him."
"Yet he was not of noble birth, I think."
"No. Do you not remember the hunt in which you took part when my
lord first found him? Well, the boy, for he was a mere lad of sixteen
then, exercised a wonderful glamour over us all; and, as Alain well
knows, he rose rapidly to be my lord's favourite squire, and would
soon have won his spurs, for he was brave—was Osric."
"Lady, may I see him? He knows me well; and I trust to learn the
secret," said Alain.
"Take this ring; it will ope the doors of his cell to thee."
"And take care thou dost not make use of it to empty Brian's Close,"
said Milo ironically.
Alain laughed, and proceeded on his mission.

"Osric, my fellow-page and brother, what is the meaning of this? why


art thou here?"
He extended his hand. Osric grasped it.
"Dost thou not know I did a Christlike deed?"
"Christlike?"
"Yes. Did He not open the prison doors of Hell when He descended
thither, and let the captives out of Limbus? I daresay the Dragon did
not like it."
"Osric, the subject is too serious for jesting."
"I am not jesting."
"But what led thee to break thy faith?"
"My faith to a higher Master than even the Lord of Wallingford, to
whom I owed so much."
"The Church never taught me that much: if all we do is so wrong,
why are we not excommunicated? Why, we are allowed our chapel,
our chaplain—who troubles himself little about what goes on—our
Masses! and we shall easily buy ourselves out of Purgatory when all
is over."
Too true, Alain; the Church did grievously neglect her duty at
Wallingford and elsewhere, and passively allow such dreadful dens
of tyranny to exist. But Osric had learnt better.
"I do not believe you will buy yourselves out. The old priest who
served our little church once quoted a Saint—I think they called him
'Augustine'—who said such things could only profit those whose lives
merited that they should profit them. But you did not come here to
discuss religion."
"No, indeed. Tell me what changed your mind?"
"Things that I heard at my grandfather's deathbed, which taught me
I had been aiding and abetting in the Devil's work."
"Devil's work, Osric! The tiger preys upon the deer, the wolf on the
sheep, the fox on the hen, the cat on the bird,—it is so all through
creation; and we do the same. Did the Devil ordain the laws of
nature?"
"God forbid. But men are brethren."
"Brethren are we! Do you think I call the vile canaille my brethren?—
not I. The base fluid which circulates in their veins is not like the
generous blood which flows in the veins of the noble and gallant. I
have no more sympathy with such folk than the cat with the mouse.
Her nature, which God gave, teaches her to torture, much as we
torment our captives in Brian's Close or elsewhere; but knights,
nobles, gentlemen,—they are my brethren. We slay each other in
generous emulation,—in the glorious excitement of battle,—but we
torture them not. Noblesse oblige."
"I cannot believe in the distinction; and you will find out I am right
some day, and that the blood of your victims, the groans of your
captives, will be visited on your head."
"Osric, you are one of the conquered race,—is it not so? Sometimes
I doubted it."
"I am one of your victims; and I would sooner be of the sufferers
than of the tyrants."
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like