100% found this document useful (4 votes)
17 views

Full Download (Ebook PDF) Big C++: Late Objects 3rd Edition PDF

Late

Uploaded by

nvualaklynne
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 (4 votes)
17 views

Full Download (Ebook PDF) Big C++: Late Objects 3rd Edition PDF

Late

Uploaded by

nvualaklynne
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/ 51

Download the full version of the ebook now at ebooksecure.

com

(eBook PDF) Big C++: Late Objects 3rd Edition

https://ebooksecure.com/product/ebook-pdf-big-c-
late-objects-3rd-edition/

Explore and download more ebook at https://ebooksecure.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

(eBook PDF) Brief C++: Late Objects, 3rd Edition

https://ebooksecure.com/product/ebook-pdf-brief-c-late-objects-3rd-
edition/

ebooksecure.com

(eBook PDF) Big Java Late Objects 2nd Edition

https://ebooksecure.com/product/ebook-pdf-big-java-late-objects-2nd-
edition/

ebooksecure.com

(eBook PDF) Java Concepts: Late Objects, 3rd Edition

https://ebooksecure.com/product/ebook-pdf-java-concepts-late-
objects-3rd-edition/

ebooksecure.com

Speech Craft 1st Edition by Joshua Gunn (eBook PDF)

https://ebooksecure.com/product/speech-craft-1st-edition-by-joshua-
gunn-ebook-pdf/

ebooksecure.com
(Original PDF) Business and Administrative Communication
11th Edition

https://ebooksecure.com/product/original-pdf-business-and-
administrative-communication-11th-edition/

ebooksecure.com

(eBook PDF) Comparative Anatomy: Manual of Vertebrate


Dissection 3rd Edition

https://ebooksecure.com/product/ebook-pdf-comparative-anatomy-manual-
of-vertebrate-dissection-3rd-edition/

ebooksecure.com

Emerging Carbon Materials for Catalysis 1st Edition- eBook


PDF

https://ebooksecure.com/download/emerging-carbon-materials-for-
catalysis-ebook-pdf/

ebooksecure.com

(eBook PDF) General, Organic, & Biological Chemistry 5th


Edition

https://ebooksecure.com/product/ebook-pdf-general-organic-biological-
chemistry-5th-edition/

ebooksecure.com

(eBook PDF) Basic Chemistry 5th Edition

https://ebooksecure.com/product/ebook-pdf-basic-chemistry-5th-edition/

ebooksecure.com
Electromyography and Neuromuscular Disorders: Clinical-
Electrophysiologic-Ultrasound Correlations 4th Edition
Edition David Preston - eBook PDF
https://ebooksecure.com/download/electromyography-and-neuromuscular-
disorders-clinical-electrophysiologic-ultrasound-correlations-ebook-
pdf/
ebooksecure.com
BigC++
Cay Horstmann
Late
Objects

3/e
vi Preface

Example Table Example table activities make the student the active participant in
building up tables of code examples similar to those found in the book. The tables
come in many different forms. Some tables ask the student to determine the output of
a line of code, or the value of an expression, or to provide code for certain tasks. This
activity helps students assess their understanding of the reading—while it is easy to
go back and review.
Algorithm Animation An algorithm animation shows the essential steps of an
algorithm. However, instead of passively watching, students get to predict each step.
When finished, students can start over with a different set of inputs. This is a surpris-
ingly effective way of learning and remembering algorithms.
Rearrange Code Rearrange code activities ask the student to arrange lines of code
by dragging them from the list on the right to the area at left so that the resulting code
fulfills the task described in the problem. This activity builds facility with coding
structure and implementing common algorithms.
Object Diagram Object diagram activities ask the student to create a memory
diagram to illustrate how variables and objects are initialized and updated as sample
code executes. The activity depicts variables, objects, and references in the same way
as the figures in the book. After an activity is completed, pressing “Play” replays the
animation. This activity goes beyond hand-tracing to illuminate what is happening in
memory as code executes.
Code Completion Code completion activities ask the student to finish a partially-
completed program, then paste the solution into CodeCheck (a Wiley-based online
code evaluator) to learn whether it produces the desired result. Tester classes on the
CodeCheck site run and report whether the code passed the tests. This activity serves
as a skill-building lab to better prepare the student for writing programs from scratch.

A Tour of the Book


This book is intended for a two-semester introduction to programming that may also
include algorithms and data structures. The organization of chapters offers the same
flexibility as the previous edition; dependencies among the chapters are also shown
in Figure 1.

Part A: Fundamentals (Chapters 1–8)


The first six chapters follow a traditional approach to basic programming concepts.
Students learn about control structures, stepwise refinement, and arrays. Objects are
used only for input/output and string processing. Input/output is first covered in
Chapter 2, which may be followed by an introduction to reading and writing text
files in Section 8.1.
In a course for engineers with a need for systems and embedded programming,
you will want to cover Chapter 7 on pointers. Sections 7.1 and 7.4 are sufficient for
using pointers with polymorphism in Chapter 10.
File processing is the subject of Chapter 8. Section 8.1 can be covered sooner for
an intro­duction to reading and writing text files. The remainder of the chapter gives
addi­tional material for practical applications.
Preface vii

Part B: Object-Oriented Design (Chapters 9–10)


After students have gained a solid foundation, they are ready to tackle the implemen-
tation of classes. Chapters 9 and 10 introduce the object-oriented features of C++.
Chapter 9 introduces class design and implementation. Chapter 10 covers inheritance
and polymorphism. By the end of these chapters, students will be able to implement
programs with multiple interacting classes.

Part C: Data Structures and Algorithms (Chapters 11–17)


Chapters 11–17 cover algorithms and data structures at a level suitable for begin-
ning students. Recursion, in Chapter 11, starts with simple examples and progresses

Fundamentals
1. Introduction
Object-Oriented Design
Data Structures & Algorithms

2. Fundamental
Data Types

3. Decisions

4. Loops

A gentle
introduction to recursion
5. Functions is optional.
Section 8.1
contains the core
material
6. Arrays
6. Iteration
and Vectors

7. Pointers 8. Streams 9. Classes 11. Recursion

Sections 10. Inheritance 13. Advanced 12. Sorting


C++ and Searching
7.1 and 7.4 are
required
14. Linked Lists,
Stacks and Queues

15. Sets, Maps


Section 15.1
and Hash Tables
is required

16. Trees

Figure 1 17. Priority


Queues and Heaps
Chapter Dependencies
viii Preface

to meaningful applications that would be difficult to implement iteratively. Chapter


12 covers quadratic sorting algorithms as well as merge sort, with an informal intro-
duction to big-Oh notation. Chapter 13 introduces advanced C++ features that are
required for implementing data structures, including templates and memory man-
agement. Chapters 14–17 cover linear and tree-based data structures. Students learn
how to use the standard C++ library versions. They then study the implementations
of these data structures and analyze their efficiency.
Any subset of these chapters can be incorporated into a custom print version of
this text; ask your Wiley sales representative for details, or visit customselect.wiley.com
to create your custom order.

Appendices
Appendices A and B summarize C++ reserved words and operators. Appendix C
lists character escape sequences and ASCII character code values. Appendix D docu-
ments all of the library functions and classes used in this book.
Appendix E contains a programming style guide. Using a style guide for program­
ming assignments benefits students by directing them toward good habits and reduc-
ing gratuitous choice. The style guide is available in electronic form on the book’s
companion web site so that instructors can modify it to reflect their preferred style.
Appendix F introduces common number systems used in computing.

Web Resources
This book is complemented by a complete suite of online resources. Go to www.wiley.
com/go/bclo3 to visit the online companion sites, which include

• Source code for all example programs in the book and its Worked Examples, plus
additional example programs.
• Worked Examples that apply the problem-solving steps in the book to other
realistic examples.
• Lecture presentation slides (for instructors only).
• Solutions to all review and programming exercises (for instructors only).
• A test bank that focuses on skills, not just terminology (for instructors only). This
extensive set of multiple-choice questions can be used with a word processor or
imported into a course management system.
• “CodeCheck” assignments that allow students to work on programming prob-
lems presented in an innovative online service and receive immediate feedback.
Instructors can assign exercises that have already been prepared, or easily add
their own. Visit http://codecheck.it to learn more.

Pointers in the print


companion describe what
students will find in their WORKED EXAMPLE 2.1
Computing Travel Time
E-Text or online.
Learn how to develop a hand calculation to compute the time that
a robot requires to retrieve an item from rocky terrain. See your
.
E-Text or visit wiley.com/go/bclo3
Courtesy of NASA.

EXAMPLE CODE See how_to_1/scores_vector in your companion code for a solution using vectors instead of arrays.
Walkthrough ix

A Walkthrough of the Learning Aids


The pedagogical elements in this book work together to focus on and reinforce key
concepts and fundamental principles of programming, with additional tips and detail
organized to support and deepen these fundamentals. In addition to traditional
features, such as chapter objectives and a wealth of exercises, each chapter contains
elements geared to today’s visual learner.

106 Chapter 4 Loops

4.3 The for Loop


Throughout each chapter,
It often happens that you want to execute a sequence of
margin notes show where The for loop is
used when a statements a given number of times. You can use a while
value runs from a loop that is controlled by a counter, as in the following
new concepts are introduced starting point to an
ending point with a
example:
and provide an outline of key ideas. constant increment
or decrement.
counter = 1; // Initialize the counter
while (counter <= 10) // Check the counter
{
cout << counter << endl;
counter++; // Update the counter
}

Because this loop type is so common, there is a special


form for it, called the for loop (see Syntax 4.2).
for (counter = 1; counter <= 10; counter++)
{
© Enrico Fianchini/iStockphoto.
cout << counter << endl;
}
You can visualize the
Some people call this loop count-controlled. In contrast, for loop as an orderly
the while loop of the preceding section can be called an sequence of steps.
event-controlled loop because it executes until an event
occurs (for example, when the balance reaches the target). Another commonly-used
Annotated syntax boxes term for a count-controlled loop is definite. You know from the outset that the loop
body will be executed a definite number of times––ten times in our example. In con-
provide a quick, visual overview trast, you do not know how many iterations it takes to accumulate a target balance.
Such a loop is called indefinite.
of new language constructs.
Syntax 4.2 for Statement

These three
expressions should be related.
See Programming Tip 4.1.

Annotations explain This initialization The loop is This update is


required components happens once
before the loop starts.
executed while
this condition is true.
executed after
each iteration.
and point to more information for (int i = 5; i <= 10; i++)

on common errors or best practices The variable i is


{
sum = sum + i;
This loop executes 6 times.
associated with the syntax. defined only in this
for loop.
}
See Programming Tip 4.3.

The for loop neatly groups the initialization, condition, and update expressions
together. However, it is important to realize that these expressions are not executed
together (see Figure 3).

Analogies to everyday objects are


used to explain the nature and behavior
of concepts such as variables, data
Like a variable in a computer types, loops, and more.
program, a parking space has
an identifier and contents.
x Walkthrough

Memorable photos reinforce


analogies and help students
remember the concepts. pie(fruit) pie(fruit)

A recipe for a fruit pie may say to use any kind of fruit.
Here, “fruit” is an example of a parameter variable.
Apples and cherries are examples of arguments.

Problem Solving sections teach


techniques for generating ideas and
6.5 Problem Solving: Discovering Algorithms by Manipulating Physical Objects 277
evaluating proposed solutions, often
using pencil and paper or other Now how does that help us with our problem, switching the first and the second
half of the array?
artifacts. These sections emphasize Let’s put the first coin into place, by swapping it with the fifth coin. However, as
C++ programmers, we will say that we swap the coins in positions 0 and 4:
that most of the planning and problem
solving that makes students successful
happens away from the computer.

Next, we swap the coins in positions 1 and 5:

HOW TO 1.1
Describing an Algorithm with Pseudocode
This is the first of many “How To” sections in this book that give you step-by-step proce-
dures for carrying out important tasks in developing computer programs.
Before you are ready to write a program in C++, you need to develop an algorithm—a
method for arriving at a solution for a particular problem. Describe the algorithm in pseudo-
code––a sequence of precise steps formulated in English. To illustrate, we’ll devise an algo-
rithm for this problem:
How To guides give step-by-step
Problem Statement You have the choice of buying one guidance for common programming
of two cars. One is more fuel efficient than the other, but also
more expensive. You know the price and fuel efficiency (in miles tasks, emphasizing planning and
per gallon, mpg) of both cars. You plan to keep the car for ten
years. Assume a price of $4 per gallon of gas and usage of 15,000 testing. They answer the beginner’s
miles per year. You will pay cash for the car and not worry about
financing costs. Which car is the better deal? © dlewis33/Getty Images. question, “Now what do I do?” and
Step 1 Determine the inputs and outputs. integrate key concepts into a
In our sample problem, we have these inputs: problem-solving sequence.
• purchase price1 and fuel efficiency1, the price and fuel efficiency (in mpg) of the first car
• purchase price2 and fuel efficiency2, the price and fuel efficiency of the second car

WORKED EXAMPLE 1.1


Writing an Algorithm for Tiling a Floor

Problem Statement Your task is to tile a rectangular bathroom floor with alternating Worked Examples apply
black and white tiles measuring 4 × 4 inches. The floor dimensions, measured in inches, are
multiples of 4. the steps in the How To to
Step 1 Determine the inputs and outputs.
a different example, showing
The inputs are the floor dimensions (length × width), how they can be used to
measured in inches. The output is a tiled floor.
Step 2 Break down the problem into smaller tasks.
plan, implement, and test
A natural subtask is to lay one row of tiles. If you can a solution to another
solve that task, then you can solve the problem by lay-
ing one row next to the other, starting from a wall, until programming problem.
you reach the opposite wall.
How do you lay a row? Start with a tile at one wall.
If it is Names
Table 3 Variable white, putin
a black
C++ one next to it. If it is black, put
a white one next to it. Keep going until you reach the
Variable Name wall. The row will contain width / 4 tiles.
opposite Comment © rban/iStockphoto.

Step 3 Describe each subtask in pseudocode.


can_volume1 Variable names consist of letters, numbers, and the underscore
character.
x In mathematics, you use short variable names such as x or y. This is
legal in C++, but not very common, because it can make programs
harder to understand (see Programming Tip 2.1). Example tables support beginners
!
Can_volume Caution: Variable names are case sensitive. This variable name is with multiple, concrete examples.
different from can_volume.
These tables point out common
6pack Error: Variable names cannot start with a number.

can volume Error: Variable names cannot contain spaces.


errors and present another quick
double Error: You cannot use a reserved word as a variable name. reference to the section’s topic.
ltr/fl.oz Error: You cannot use symbols such as . or /
Walkthrough xi

Consider the function call illustrated in Figure 3:


double result1 = cube_volume(2); Progressive figures trace code
• The parameter variable side_length of the cube_volume function is created. ❶
• The parameter variable is initialized with the value of the argument that was
segments to help students visualize
passed in the call. In our case, side_length is set to 2. ❷ the program flow. Color is used
• The function computes the expression side_length * side_length * side_length,
which has the value 8. That value is stored in the variable volume. ❸ consistently to make variables and
• The function returns. All of its variables are removed. The return value is trans-
ferred to the caller, that is, the function calling the cube_volume function. ❹
other elements easily recognizable.

1 Function call result1 =


double result1 = cube_volume(2);

1 Initialize counter
side_length = for (counter = 1; counter <= 10; counter++)
{
cout << counter << endl;
2 Initializing function parameter variable counter = 1 }
result1 =
double result1 = cube_volume(2);
2 Check condition
side_length = for (counter = 1; counter <= 10; counter++)
2
{
cout << counter << endl;
counter = 1 }
3 About to return to the caller result1 =

3 Execute loop body


for (counter = 1; counter <= 10; counter++)
side_length = 2 {
double volume = side_length * side_length * side_length;
return volume; cout << counter << endl;
volume = 8 counter = 1 }

4 After function call result1 = 8 4 Update counter


for (counter = 1; counter <= 10; counter++)
double result1 = cube_volume(2); {
cout << counter << endl;
counter = 2 }
Figure 3 Parameter Passing

5 Check condition again


for (counter = 1; counter <= 10; counter++)
{
cout << counter << endl;
counter = 2 }

Figure 3 Execution of a for Loop


Optional engineering exercises
engage students with applications
from technical fields. Engineering P7.12 Write a program that simulates the control
software for a “people mover” system, a set of
driverless trains that move in two concentric
circular tracks. A set of switches allows trains
to switch tracks.
In your program, the outer and inner tracks
should each be divided into ten segments.
Each track segment can contain a train that
moves either clockwise or counterclockwise.
sec02/cube.cpp A train moves to an adjacent segment in its track or, if that segment is occupied, to
the adjacent segment in the other track.
1 #include <iostream>
2 Define a Segment structure. Each segment has a pointer to the next and previous
3 using namespace std; segments in its track, a pointer to the next and previous segments in the other track,
4
5 /**
6 Computes the volume of a cube.
7 @param side_length the side length of the cube
8 @return the volume
9 */
10 double cube_volume(double side_length)
11 {
12 double volume = side_length * side_length * side_length;
13 return volume;
14 }
15
16 int main()
Program listings are carefully
17
18
{
double result1 = cube_volume(2); designed for easy reading,
double result2 = cube_volume(10);
19
20 cout << "A cube with side length 2 has volume " << result1 << endl; going well beyond simple
21 cout << "A cube with side length 10 has volume " << result2 << endl;
22 color coding. Functions are set
23 return 0;
24 } off by a subtle outline.
Program Run
A cube with side length 2 has volume 8
A cube with side length 10 has volume 1000

EXAMPLE CODE See sec04 of your companion code for another implementation of the earthquake program that you
Additional example programs
saw in Section 3.3. Note that the get_description function has multiple return statements.
are provided with the companion
code for students to read, run,
and modify.
xii Walkthrough

Common Errors describe the kinds Common Error 2.1


Using Undefined Variables
of errors that students often make, You must define a variable before you use it for the first time. For example, the following
with an explanation of why the errors sequence of statements would not be legal:
double can_volume = 12 * liter_per_ounce;
occur, and what to do about them. double liter_per_ounce = 0.0296;
In your program, the statements are compiled in order. When the compiler reaches the first
statement, it does not know that liter_per_ounce will be defined in the next line, and it reports
an error.

Programming Tip 3.6


Hand-Tracing
A very useful technique for understanding whether a program
works correctly is called hand-tracing. You simulate the pro-
gram’s activity on a sheet of paper. You can use this method with
pseudocode or C++ code.
Get an index card, a cocktail napkin, or whatever sheet of
Programming Tips explain paper is within reach. Make a column for each variable. Have the
program code ready. Use a marker, such as a paper clip, to mark
good programming practices, the current statement. In your mind, execute statements one at a
time. Every time the value of a variable changes, cross out the old
and encourage students to be value and write the new value below the old one.
© thomasd007/iStockphoto.

For example, let’s trace the tax program with the data from the
more productive with tips and program run in Section 3.4. In lines 13 and 14, tax1 and tax2 are
Hand-tracing helps you
understand whether a
initialized to 0. program works correctly.
techniques such as hand-tracing. 6 int main()
7 {
8 const double RATE1 = 0.10; marital
9 const double RATE2 = 0.25; tax1 tax2 income status
10 const double RATE1_SINGLE_LIMIT = 32000;
11 const double RATE1_MARRIED_LIMIT = 64000; 0 0
12
13 double tax1 = 0;
14 double tax2 = 0;
15

In lines 18 and 22, income and marital_status are initialized by input statements.
16 double income;
17 cout << "Please enter your income: ";
18 cin >> income; marital
19 tax1 tax2 income status
20 cout << "Please enter s for single, m for married: ";
21 string marital_status; 0 0 80000 m
22 cin >> marital_status;
23

Because marital_status is not "s", we move to the else


branch of the outer if statement (line 36).
24 if (marital_status == "s")
25 {
26 if (income <= RATE1_SINGLE_LIMIT)
27
28
{ Special Topic 6.5
tax1 = RATE1 * income;
29
30
}
else The Range-Based for Loop
31 {
32 C++ 11 introduces a convenient syntax for visiting all elements in a “range” or sequence of ele-
tax1 = RATE1 * RATE1_SINGLE_LIMIT;
ments. This loop displays all elements in a vector:
vector<int> values = {1, 4, 9, 16, 25, 36};
for (int v : values)
{
cout << v << " ";
}

Special Topics present optional In each iteration of the loop, v is set to an element of the vector. Note that you do not use an
index variable. The value of v is the element, not the index of the element.
topics and provide additional If you want to modify elements, declare the loop variable as a reference:
for (int& v : values)
explanation of others. {
v++;
}
This loop increments all elements of the vector.
You can use the reserved word auto, which was introduced in Special Topic 2.3, for the type
of the element variable:
for (auto v : values) { cout << v << " "; }
The range-based for loop also works for arrays:
int primes[] = { 2, 3, 5, 7, 11, 13 };
for (int p : primes)
{
cout << p << " ";
}
Computing & Society 7.1 Embedded Systems The range-based for loop is a convenient shortcut for visiting or updating all elements of a
vector or an array. This book doesn’t use it because one can achieve the same result by looping
An embedded sys- would feel comfortable upgrading the duced in large volumes. Thus, the pro-
tem is a computer software in their washing machines grammer of an embedded system has
over index values. But if you like the more concise form, and use C++ 11 or later, you should
system that controls a device. The or automobile engines. If you ever a much larger economic incentive to certainly consider using it.
device contains a processor and other handed in a programming assignment conserve resources than the desktop
EXAMPLE CODE See special_topic_5 of your companion code for a program that demonstrates the range-based
hardware and is controlled by a com- that you believed to be correct, only to software programmer. Unfortunately, for loop.
puter program. Unlike a personal have the instructor or grader find bugs trying to conserve resources usually
computer, which has been designed in it, then you know how hard it is to makes it harder to write programs that
to be flexible and run many different write software that can reliably do its work correctly.
computer programs, the hardware task for many years without a chance C and C++ are commonly used
and software of an embedded system of changing it. Quality standards are languages for developing embedded
are tailored to a specific device. Com- especially important in devices whose systems.
puter controlled devices are becom- failure would destroy property or
ing increasingly common, ranging endanger human life. Many personal
from washing machines to medical computer purchasers buy computers Computing & Society presents social
equipment, cell phones, automobile that are fast and have a lot of stor-
engines, and spacecraft.
Several challenges are specific to
age, because the investment is paid
back over time when many programs
and historical topics on computing—for
programming embedded systems.
Most importantly, a much higher stan-
are run on the same equipment. But
the hardware for an embedded device
interest and to fulfill the “historical and
dard of quality control applies. Ven-
dors are often unconcerned about
is not shared––it is dedicated to one
device. A separate processor, memory,
social context” requirements of the
bugs in personal computer software,
because they can always make you
and so on, are built for every copy of
the device. If it is possible to shave a ACM/IEEE curriculum guidelines.
install a patch or upgrade to the next few pennies off the manufacturing © Courtesy of Professor Prabal Dutta.
version. But in an embedded system, cost of every unit, the savings can add
that is not an option. Few consumers up quickly for devices that are pro- The Controller of an Embedded System
Walkthrough xiii

Interactive activities in the E-Text


engage students in active reading as they…

Trace through a code segment

Build an example table

Explore common algorithms

Arrange code to fulfill a task

Complete a program and Create a memory diagram


get immediate feedback
Visit https://testbankfan.com
now to explore a rich
collection of testbank or
solution manual and enjoy
exciting offers!
Acknowledgments xv

Acknowledgments
Many thanks to Don Fowley, Graig Donini, Dan Sayre, Ryann Dannelly, David
Dietz, Laura Abrams, and Billy Ray at John Wiley & Sons for their help with this
project. An especially deep acknowledgment and thanks goes to Cindy Johnson for
her hard work, sound judgment, and amazing attention to detail.
I am grateful to Mark Atkins, Ivy Technical College, Katie Livsie, Gaston College,
Larry Morell, Arkansas Tech University, and Rama Olson, Gaston College, for
their contributions to the supplemental material. Special thanks to Stephen Gilbert,
Orange Coast Community College, for his help with the interactive exercises.
Every new edition builds on the suggestions and experiences of new and prior
reviewers, contributors, and users. We are very grateful to the individuals who pro-
vided feedback, reviewed the manuscript, made valuable suggestions and contribu-
tions, and brought errors and omissions to my attention. They include:
Charles D. Allison, Utah Valley State College
Fred Annexstein, University of Cincinnati
Mark Atkins, Ivy Technical College
Stefano Basagni, Northeastern University
Noah D. Barnette, Virginia Tech
Susan Bickford, Tallahassee Community College
Ronald D. Bowman, University of Alabama, Huntsville
Robert Burton, Brigham Young University
Peter Breznay, University of Wisconsin, Green Bay
Richard Cacace, Pensacola Junior College, Pensacola
Kuang-Nan Chang, Eastern Kentucky University
Joseph DeLibero, Arizona State University
Subramaniam Dharmarajan, Arizona State University
Mary Dorf, University of Michigan
Marty Dulberg, North Carolina State University
William E. Duncan, Louisiana State University
John Estell, Ohio Northern University
Waleed Farag, Indiana University of Pennsylvania
Evan Gallagher, Polytechnic Institute of New York University
Stephen Gilbert, Orange Coast Community College
Kenneth Gitlitz, New Hampshire Technical Institute
Daniel Grigoletti, DeVry Institute of Technology, Tinley Park
Barbara Guillott, Louisiana State University
Charles Halsey, Richland College
Jon Hanrath, Illinois Institute of Technology
Neil Harrison, Utah Valley University
Jurgen Hecht, University of Ontario
Steve Hodges, Cabrillo College
xvi Acknowledgments

Jackie Jarboe, Boise State University


Debbie Kaneko, Old Dominion University
Mir Behrad Khamesee, University of Waterloo
Sung-Sik Kwon, North Carolina Central University
Lorrie Lehman, University of North Carolina, Charlotte
Cynthia Lester, Tuskegee University
Yanjun Li, Fordham University
W. James MacLean, University of Toronto
LindaLee Massoud, Mott Community College
Adelaida Medlock, Drexel University
Charles W. Mellard, DeVry Institute of Technology, Irving
Larry Morell, Arkansas Tech University
Ethan V. Munson, University of Wisconsin, Milwaukee
Arun Ravindran, University of North Carolina at Charlotte
Philip Regalbuto, Trident Technical College
Don Retzlaff, University of North Texas
Jeff Ringenberg, University of Michigan, Ann Arbor
John P. Russo, Wentworth Institute of Technology
Kurt Schmidt, Drexel University
Brent Seales, University of Kentucky
William Shay, University of Wisconsin, Green Bay
Michele A. Starkey, Mount Saint Mary College
William Stockwell, University of Central Oklahoma
Jonathan Tolstedt, North Dakota State University
Boyd Trolinger, Butte College
Muharrem Uyar, City College of New York
Mahendra Velauthapillai, Georgetown University
Kerstin Voigt, California State University, San Bernardino
David P. Voorhees, Le Moyne College
Salih Yurttas, Texas A&M University

A special thank you to all of our class testers:


Pani Chakrapani and the students of the University of Redlands
Jim Mackowiak and the students of Long Beach City College, LAC
Suresh Muknahallipatna and the students of the University of Wyoming
Murlidharan Nair and the students of the Indiana University of South Bend
Harriette Roadman and the students of New River Community College
David Topham and the students of Ohlone College
Dennie Van Tassel and the students of Gavilan College
CONTENTS
PREFACE iii PT2 Do Not Use Magic Numbers 34
SPECIAL FEATURES xxiv ST1 Numeric Types in C++ 34
ST2 Numeric Ranges and Precisions 35
ST3 Defining Variables with auto 35
1 INTRODUCTION 1
2.2 Arithmetic  36
1.1 What Is Programming?   2 Arithmetic Operators  36
1.2 The Anatomy of a Computer   3 Increment and Decrement   36
Integer Division and Remainder   36
C&S Computers Are Everywhere 5
Converting Floating-Point Numbers to
1.3 Machine Code and Programming Integers  37
Languages  5 Powers and Roots   38
C&S Standards Organizations 7 CE3 Unintended Integer Division 39
1.4 Becoming Familiar with Your CE4 Unbalanced Parentheses 40
Programming Environment   7 CE5 Forgetting Header Files 40
PT1 Backup Copies 10 CE6 Roundoff Errors 41
PT3 Spaces in Expressions 42
1.5 Analyzing Your First Program   11
ST4 Casts 42
CE1 Omitting Semicolons 13
ST5 Combining Assignment and Arithmetic 42
ST1 Escape Sequences 13
C&S The Pentium Floating-Point Bug 43
1.6 Errors  14
2.3 Input and Output   44
CE2 Misspelling Words 15
Input  44
1.7 PROBLEM SOLVING Algorithm Design   16
Formatted Output  45
The Algorithm Concept   16
2.4 PROBLEM SOLVING First Do It By Hand   47
An Algorithm for Solving an Investment
Problem  17 WE1 Computing Travel Time 48
Pseudocode  18 HT1 Carrying out Computations 48
From Algorithms to Programs   19 WE2 Computing the Cost of Stamps 51
HT1 Describing an Algorithm with 2.5 Strings  51
Pseudocode 19
The string Type  51
WE1 Writing an Algorithm for Tiling a Floor 21
Concatenation  52
String Input  52
2 FUNDAMENTAL DATA String Functions  52
TYPES 25 C&S International Alphabets and Unicode 55

2.1 Variables  26
3 DECISIONS 59
Variable Definitions  26
Number Types  28 3.1 The if Statement   60
Variable Names    29 CE1 A Semicolon After the if Condition 63
The Assignment Statement   30
PT1 Brace Layout 63
Constants  31
PT2 Always Use Braces 64
Comments  31
PT3 Tabs 64
CE1 Using Undefined Variables 33
PT4 Avoid Duplication in Branches 65
CE2 Using Uninitialized Variables 33
ST1 The Conditional Operator 65
PT1 Choose Descriptive Variable Names 33

xvii
xviii Contents

3.2 Comparing Numbers and Strings   66 4.5 Processing Input   112


CE2 Confusing = and == 68 Sentinel Values  112
CE3 Exact Comparison of Floating-Point Reading Until Input Fails   114
Numbers 68 ST1 Clearing the Failure State 115
PT5 Compile with Zero Warnings 69 ST2 The Loop-and-a-Half Problem and the
ST2 Lexicographic Ordering of Strings 69 break Statement 116
HT1 Implementing an if Statement 70 ST3 Redirection of Input and Output 116
WE1 Extracting the Middle 72 4.6 PROBLEM SOLVING Storyboards  117
C&S Dysfunctional Computerized Systems 72
4.7 Common Loop Algorithms   119
3.3 Multiple Alternatives   73 Sum and Average Value   119
ST3 The switch Statement 75 Counting Matches  120
3.4 Nested Branches   76 Finding the First Match   120
CE4 The Dangling else Problem 79 Prompting Until a Match is Found   121
PT6 Hand-Tracing 79 Maximum and Minimum   121
Comparing Adjacent Values   122
3.5 PROBLEM SOLVING Flowcharts  81
HT1 Writing a Loop 123
3.6 PROBLEM SOLVING Test Cases   83 WE1 Credit Card Processing 126
PT7 Make a Schedule and Make Time for
4.8 Nested Loops   126
Unexpected Problems 84
WE2 Manipulating the Pixels in an Image 129
3.7 Boolean Variables and Operators   85
4.9 PROBLEM SOLVING Solve a Simpler
CE5 Combining Multiple Relational Operators 88
Problem First   130
CE6 Confusing && and || Conditions 88
ST4 Short-Circuit Evaluation of Boolean 4.10 Random Numbers and Simulations   134
Operators 89 Generating Random Numbers   134
ST5 De Morgan’s Law 89 Simulating Die Tosses   135
3.8 APPLICATION Input Validation   90 The Monte Carlo Method   136
C&S Digital Piracy 138
C&S Artificial Intelligence 92

4 LOOPS 95 5 FUNCTIONS 141

4.1 The while Loop   96 5.1 Functions as Black Boxes   142


CE1 Infinite Loops 100 5.2 Implementing Functions   143
CE2 Don’t Think “Are We There Yet?” 101 PT1 Function Comments 146
CE3 Off-by-One Errors 101 5.3 Parameter Passing   146
C&S The First Bug 102 PT2 Do Not Modify Parameter Variables 148
4.2 PROBLEM SOLVING Hand-Tracing  103 5.4 Return Values   148
4.3 The for Loop   106 CE1 Missing Return Value 149
PT1 Use for Loops for Their Intended ST1 Function Declarations 150
Purpose Only 109 HT1 Implementing a Function 151
PT2 Choose Loop Bounds That Match WE1 Generating Random Passwords 152
Your Task 110 WE2 Using a Debugger 152
PT3 Count Iterations 110
5.5 Functions Without Return Values   153
4.4 The do Loop   111
5.6 PROBLEM SOLVING Reusable Functions   154
PT4 Flowcharts for Loops 111
Contents xix

5.7 PROBLEM SOLVING Stepwise 6.4 PROBLEM SOLVING Adapting


Refinement  156 Algorithms  198
PT3 Keep Functions Short 161 HT1 Working with Arrays 200
PT4 Tracing Functions 161 WE1 Rolling the Dice 203
PT5 Stubs 162 6.5 PROBLEM SOLVING Discovering Algorithms by
WE3 Calculating a Course Grade 163 Manipulating Physical Objects   203
5.8 Variable Scope and Global Variables   163 6.6 Two-Dimensional Arrays   206
PT6 Avoid Global Variables 165 Defining Two-Dimensional Arrays   207
5.9 Reference Parameters   165 Accessing Elements  207
PT7 Prefer Return Values to Reference Locating Neighboring Elements   208
Parameters 169 Computing Row and Column Totals   208
ST2 Constant References 170 Two-Dimensional Array Parameters   210
CE2 Omitting the Column Size of a Two-
5.10 Recursive Functions (Optional)   170
Dimensional Array Parameter 212
HT2 Thinking Recursively 173
WE2 A World Population Table 213
C&S The Explosive Growth of Personal
Computers 174 6.7 Vectors  213
Defining Vectors  214
Growing and Shrinking Vectors   215
6 ARRAYS AND VECTORS 179
Vectors and Functions   216
6.1 Arrays  180 Vector Algorithms  216
Two-Dimensional Vectors  218
Defining Arrays  180
PT2 Prefer Vectors over Arrays 219
Accessing Array Elements   182
ST5 The Range-Based for Loop 219
Partially Filled Arrays   183
CE1 Bounds Errors 184
PT1 Use Arrays for Sequences of Related 7 POINTERS AND
Values 184 STRUCTURES 223
C&S Computer Viruses 185

6.2 Common Array Algorithms   185 7.1 Defining and Using Pointers   224
Filling  186 Defining Pointers  224
Copying   186 Accessing Variables Through Pointers   225
Sum and Average Value   186 Initializing Pointers  227
Maximum and Minimum   187 CE1 Confusing Pointers with the Data to Which
Element Separators  187 They Point 228
Counting Matches  187 PT1 Use a Separate Definition for Each Pointer
Linear Search  188 Variable 229
Removing an Element   188 ST1 Pointers and References 229
Inserting an Element   189 7.2 Arrays and Pointers   230
Swapping Elements  190 Arrays as Pointers    230
Reading Input  191 Pointer Arithmetic  230
ST1 Sorting with the C++ Library 192 Array Parameter Variables Are Pointers   232
ST2 A Sorting Algorithm 192 ST2 Using a Pointer to Step Through
ST3 Binary Search 193 an Array 233
6.3 Arrays and Functions   194 CE2 Returning a Pointer to a Local Variable 234

ST4 Constant Array Parameters 198 PT2 Program Clearly, Not Cleverly 234
ST3 Constant Pointers 235
Exploring the Variety of Random
Documents with Different Content
Nothing could have been more perfect than her manner to her
guests. It was one of those occasions, growing constantly more rare,
when White had no reason to complain. She was charming to all,
from the most distinguished to the most socially obscure, she forgot
her prejudices, she even forgot to snub her husband’s political
protégés—to their infinite and undisguised relief—and to her own
particular coterie she was the old, charming, inimitable Margaret. As
on the occasion of her musicale, men predominated, and among
those men were all the notables at the capital. Speaking several
languages, Margaret had made her house a Mecca for all Europeans;
it was an open secret that she espoused the cause of the Russian
ambassador against his secret enemy, Lily Osborne, and espoused it
with a zeal which caused a whispered sensation in official circles. It
was an anxious question what Mrs. White might not dare to do, for it
was believed that she would pause at nothing in her determination
to defeat Mrs. Osborne. Yet it was never hinted that she concerned
herself even remotely with White’s devotion to the fair divorcée. Her
indifference to her husband was a fact too generally accepted to
cause even a ripple in the stream.
There had been much secret comment on her changed and haggard
looks, but her dryadlike loveliness to-night silenced every whisper,
and her gayety, her ease, her clever, reckless talk proclaimed her the
same Margaret they had always known and loved and feared, whose
wit was as keen as it was cruel.
Mrs. O’Neal was the first to bid her good-night. The old lady in her
gorgeous panoply of silk and velvet tottered on, like an ancient war-
horse answering the bugle call, her white head vibrating as she
talked. Still athirst for social power and success, no one was a
keener judge of achievements, and she patted Margaret’s hand.
“My dear,” she whispered, “you’re the most charming creature in the
world when you choose! I’m old enough to tell you.”
“I can never equal you,” Margaret retorted lightly, “even when I
choose!”
“There! It was worth the risk to get the compliment!” the older
woman laughed back; “and your husband, he looked most
distinguished to-night, and those dear children—I saw them in the
park! Be good, my child, and you’ll be happy!” and she smiled
complacently at the axiom as she moved away, a figure of ancient
gayety in tight shoes and costly stays. An hour later when her maid
had taken her to pieces, she presented a spectacle at once
instructive and amazing.
Following Mrs. O’Neal’s exit, the accepted signal for departure,
Margaret’s guests began to flow past her in a steady stream,
stopping a moment for the individual farewells or congratulations on
the pleasures of a brilliant evening. She was standing just inside the
ballroom door alone, for White had been summoned unexpectedly to
the White House a half-hour previously, his departure adding to the
zest of gossip and speculation upon the political situation. Margaret’s
slim figure in its shimmering dress, her animated face, the peculiar
charm of her smile, had never been more observed; she was
beautiful. Those who had questioned it, those who had been only
half convinced and those who had denied it, were alike overwhelmed
with its manifestation. It seemed as if the intangibility of her much
disputed charm had vanished and her beauty had taken a visible
shape, was crystallized and purified by some fervent emotion which
made her spirit illuminate it as the light shines through an alabaster
lamp.
One by one they pressed her hand and passed on, feeling the
inspiration of her glance; one white haired diplomat bent gracefully
and kissed her fingers, an involuntary tribute which brought a faint
blush to her cheek.
Fox was among the last to approach, and as he did so she stopped
him with a slight but imperative gesture. “Stay a moment, William,”
she murmured, with almost a look of appeal, “I want to speak to
you.”
Thus admonished he turned back, conscious that by so doing he
startled a glance of comprehension in the eyes of Louis Berkman,
who was following him, which annoyed him for Margaret’s sake. He
went over to the fireplace and stood watching the falling embers
while the remaining guests made their adieux, then as the rustle and
murmur of their departure grew more distant and lost itself in the
rooms beyond, he turned and saw her coming down the long room
alone and was startled by the extreme youthfulness and fragility of
her appearance, and by the discovery, which came to him with the
shock of surprise, that her radiant aspect had slipped from her with
her departing guests, that her face was colorless and pinched,
though her eyes were still feverishly bright.
“It was good of you to stay,” she said, coming to the fire and holding
out her hands to the blaze; “how cold it is for the first of April. Sit
down, William, and let me send for wine and cigarettes; you look
tired.”
He raised a deprecating hand. “No more hospitality,” he said firmly;
“you’ve done enough; you’ve lost all your color now.”
“Except what I put on with a brush,” she said dryly, clasping her
hands and letting her long white arms hang down before her as she
looked across at him with a keen glance. “I know—you’ve eaten
nothing here since Wicklow broke his word and the rest of it. You
won’t eat his bread!”
Fox colored. “Should I be here in that case?” he asked.
She shook her head, glancing at the fire. “You can’t fool me—I
understand.”
“Come, I must go,” he said firmly; “it is very late and you look
wearied to death. You must be, you were absolutely the life of it to-
night; you should have heard old de Caillou rhapsodize!”
“Did I do well—did I look my best?” she asked, her lip quivering like
a child’s, her eyes still on the fire.
“You were your own happy self!” he replied.
She looked up, her slight figure swaying a little as she wrung her
hands together; the tears rained down her cheeks. “Billy,” she
sobbed, “I’m wretched—I—I can’t stand it any longer, it will kill me!”
XI
FOX stood aghast at the force, the agony, the abandon of Margaret’s
confession. Any presentiment which might have warned him had
been disarmed by her previous gayety.
Almost unconsciously his hand met hers, which was stretched out in
a mute appeal. He drew her to a chair. “Sit down,” he said, in an
unsteady voice, with an impotent impulse of resistance; “try to calm
yourself! This is dreadful!”
She obeyed him mechanically; sinking into the great armchair and
turning her face against it, she continued to weep, her whole
delicate frame shaken and quivering with her emotion.
Fox stood still holding her hand and looking down at her in deep
perplexity. He was intuitively aware of the extreme peril and delicacy
of the situation for them both, only too certain of her wild and
unguarded impulses, and that moment—more supremely than ever
—revealed to him the absolute demise of his own passion. He tried
to quiet her, speaking a few gentle and soothing words, sharply
conscious of their inadequacy.
But she scarcely heeded them. After a moment the storm spent
itself, and she turned, revealing her white, tear-stained face which
was still beautiful in spite of her weeping. “There comes a time,” she
said, in a low voice, “when one can bear it no longer—when one
would rather die.”
“For God’s sake, Margaret, don’t say such things!” he exclaimed,
profoundly moved.
Her lips quivered. “Is it so dreadful to say them?” she retorted
passionately; “when you feel them? When they are burned into your
flesh? I’m so weary of conventionalities. I tell you that I can’t bear it,
that I will not bear it any longer!”
As she spoke she rose and stood facing him, her eyes feverishly
bright and moist with unshed tears. “You ask too much of me, you
have no right to ask it—no one has!” she continued, her lip quivering
again; “I cannot be silent—it’s killing me by inches!”
Fox colored deeply; he was suddenly forced into an impossible
position. “My dear Margaret,” he said gravely, “I have no words to
meet it; you must know how profoundly I feel it!”
“If I did not—if I were not sure of you!” she replied, a little wildly, “it
would kill me sooner. Sometimes I have wanted to die. The doctors
say that I have heart trouble—I hope I have! If I believed in prayer I
should have prayed to die.”
“Margaret! is it as bad as that?” he cried, in sudden uncontrollable
pity; he remembered her as so young, so beautiful, so happy!
Her lips twitched. “As bad as that?” she repeated wildly; “I feel like a
trapped squirrel, a rabbit in a snare, I can only shriek because it
hurts me—it isn’t bad enough yet to kill! I’m caged—oh, William,
William, help me get out!”
“Margaret!” he exclaimed sharply, “don’t you know that I can’t hear
this? This is White’s house, I’ve broken his bread. My God, how
dreadful it all is!”
Her hand clenched unconsciously at her side, her white neck rose
and fell with her tortured breathing, a horrible doubt had assailed
her. Then the light broke over her face; he loved her, that was it, and
he was too honorable to speak! She held out both hands. “William,
forgive me,” she murmured softly, “but what have we gained by
silence? What does it all matter to the world? But you must go,
perhaps I did wrong to tell you now! Good-night, I—I—”
Her lips quivered pitifully. “I have always loved you—don’t think me
a wicked woman.”
“Margaret!” he groaned, deeply, terribly touched, yet with a
sickening consciousness of his own unresponsive heart.
She smiled faintly, moving away from him toward the stairs. “Oh,
you must go, good-night!” she repeated, as he paused half reluctant.
“I’m resolved, nothing shall change me—in a little while—” she
paused and he saw the change in her face, its lighting up and
softening, the revelation of its beauty, its subtle charm; saw it with a
slow agony of remorse and reluctance; “in a little while,” she said,
and her smile was wonderful, “I shall be free!”
Fox scarcely knew how he got out of the house; he left it in a dream
and went directly home to his own apartments in an uptown flat.
The distance was not great and he scarcely allowed himself to think.
His mind was almost confused by the sudden and blinding climax.
But as he opened his door, and the dog, Sandy, leaped to meet him,
a rush of feeling swept away his passive resistance; he forced
himself to turn on the lights more fully and to look about at the
familiar objects which met his eyes on all sides, his books, his
pictures, his littered writing-table; he even picked up the evening
mail, which his clerk had left in its accustomed place, and looked
over the pile of letters and pamphlets. But it cost him an effort.
It was very late, but sleep was impossible, and picking up his hat
and stick he whistled to Sandy and the two went out into the almost
deserted streets. The dog leaped about him with quick, joyous
barks, rejoicing in the unexpected outing, and Fox turned his face
northward, walking steadily along the brilliantly lighted and strangely
quiet avenue which led him through the heart of the northwest
section and up on the hill. The tumult of his mind found relief in the
physical exercise and the fresh cold air of an early April night.
In spite of that central egotism of his, which was capable of much
when unkindly stirred, Fox believed that he possessed strong
convictions on the nicer points of honor. If he had drifted often to
White’s house and been much in Margaret’s society it was with no
intention of offending against his host. His indolence, his
carelessness of what was mere gossip and tittle-tattle, had made
him indifferent to the conclusions of others, but he was not unaware
of the talk and the surmises of his enemies; he was not unaware
that Margaret stood on delicate ground and that, if she separated
from White, there would be a wild burst of excited comment—the
comment which costs a woman her good name. Such being the case
she had suddenly thrown herself upon his sympathy, she had torn
away the thin veil of conventionality which had saved them, and it
was for him to desert her or to defend her when the supreme
moment came.
That moment would involve not only his own happiness but—he
paused in his thoughts with a shock of feeling which flooded his
consciousness with a lucidity, an insight, which appalled him. Was he
mistaken, or did it also involve the happiness of the young and
innocent girl whom he loved? At the thought of Rose his heart sank;
he felt instinctively her abhorrence, her complete lack of
understanding of his peculiar situation. To Rose’s mind, doubtless,
he would appear in the likeness of Mephistopheles!
Good God, what would she think of him? he thought; but yesterday
he had held her hand, looked into her pure, young eyes, almost
spoken the final words which would have laid bare his very soul—
and now! He seemed to feel the heated, perfumed atmosphere, the
pressure of Margaret’s fingers on his arm, her wild, sweet smile
when she proclaimed her love for him without shame—how vividly
he saw it! And her absolute belief in his unchanged love for her!
Infatuation, madness, self-deception, it might be all these and more,
but she was a woman—and she had flung herself upon his mercy!
As yet that other aspect of the affair, the blighting of his public
career which such a scandal might in a measure effect, had not
thrust itself upon him; his only thought was for Rose. In that hour
he learned how profoundly he loved her; it was part of his nature
that the very denial of a gift increased his desire to obtain it.
He walked long and far; the night was lightly clouded; but once the
moon broke through a rift and flooded the upper sky with light. As
he turned on the heights the city lay at his feet, dark and slumbering
save for the lighted streets. A policeman tramping past glanced
keenly at him. The air had a crispness that was not wintry, and once
or twice the sweetness of hyacinths reached him from some flower-
studded lawn. Sandy trailed at his heels, faithful but anxious; the
way was new and the hour strange.
They walked on; it was toward morning when the man and the dog
returned and, when they entered his rooms again, Fox’s face was
white, his eyes and mouth were haggard, with the look of a man
who has passed through a great crisis with much agony of soul. For
he had found but one solution, and that sealed his lips.
If his careless preference for her, for her gayety and her wit, if his
thoughtless seeking of her society, if the coupling of his name with
hers, had led her to this breaking of her life, then there was no
question, there could be no question—he thrust the thought deep
down out of sight but it remained there, coiled like the serpent,
ready to strike at the heart of his happiness.
XII
IT was ten o’clock in the morning, and Rose was clipping the dead
leaves from her flowers in the bow-window of the library, while
Judge Temple still read the morning paper in his great high-backed
chair; a shaft of sunlight stealing through the open carving touched
his scanty white hair and showed the crumpled lines of the blue
veins on his temples. He was an old man; he had married late in life
and Rose, the youngest born and only survivor of five children, was
proportionately dear to him. There was a warm sympathy between
them and a companionship beautiful to see.
“There’s some trouble in the Cabinet,” he observed, as he turned his
paper; “there are hints here about Wicklow White.”
Rose looked thoughtful but continued to arrange her flowers.
“Margaret seems very unhappy and very gay, as usual,” she
remarked softly.
“Too gay, my dear,” the judge commented; “old-fashioned fogies like
myself get easily shocked. Never go to her dressmaker!”
Rose laughed, her scissors sparkling in the sun. “Why, father, people
rave about her and copy her everywhere.”
“Let them,” said the judge dryly, “let them—but not my daughter!
Rose, I’d—I’d whip you!”
“You never did that in your life,” she smiled, “I’m almost tempted to
try it and see.”
“Better not,” he retorted grimly, taking off his spectacles and putting
them into his pocket; “you’d get a lesson!”
“Poor Margaret!” Rose colored a little; she had caught the glance
which Margaret had bestowed on her and Fox.
“Poor fiddlesticks!” replied the judge, rising and folding his paper;
“she’s made her bed, child, and she must lie on it; that’s the law of
life; we reap as we sow.”
Rose looked across at him affectionately, but she was wondering
what he thought of William Fox; she had never dared to ask. “It’s a
hard law, father,” she said gently, “we all want to be happy.”
“You will be—just in proportion to your right to be,” he retorted
calmly; “it’s a matter of the heart anyway, Rose, and not of external
matters.”
“I suppose so,” she replied, with a slight sigh; “but one would like to
have externals and internals agree, don’t you think?”
The old man laughed pleasantly. “Most of us would,” he admitted,
“but we never have our way in this world, not in my observation.”
As he spoke there was a stir in the hall, and a young girl appeared at
the drawing-room door.
“It’s Gertrude English,” Rose said; “don’t go yet, father, I’ll take her
away.”
But it appeared that the judge had to go to court, and he went out,
patting little Miss English on the shoulder as he passed. “We children
grow,” he said laughing.
“I wish I’d grown more,” she retorted ruefully; “everybody calls me
‘a little thing,’ and I’m not, really, I’m five feet four.”
“Napoleon was small,” remarked the judge teasingly, “and William
Third and Louis Fourteenth.”
“I know what you think of two of those!” objected Gertrude; “we
remember our history lessons here, don’t we, Rose?”
“Well—but when a rogue’s famous!” said the judge, and went out
smiling at his own jest.
Miss English walked over to the window and watched Rose water her
plants and turn them religiously to the sun.
“Take off your hat, Gertrude,” she said pleasantly; “you really look
tired; can’t you stay awhile?”
Gertrude shook her head. “No,” she said firmly; “I’ve got about a
million notes to write for Margaret and the lunch cards to get ready
for to-morrow; to-night she dines the President. I’m tired of it; I
wish I could make money cracking stones!”
“Poor Gerty!” Rose looked at her with gentle concern; “you’re very
pale, you look as if you hadn’t slept.”
“I haven’t,” said Miss English flatly, “not a wink.”
“I hope Margaret doesn’t make you work late,” Rose murmured,
beginning to search again for dead leaves.
“Margaret?” the little secretary sat down and leaned her elbows on
her knees, her chin in her hands; “Rose, I’m so sorry for her!”
“She seems gay enough,” Rose observed quietly.
“I should say so! I was there very late last night; it was one of her
entertainments, and little Ward was sick. I sat with him. You know
she treats the children sometimes like playthings, and again—like
rats! I was in the nursery watching him and helping the nurse until
all the guests went. Then I went down stairs; I wanted to tell
Margaret what I’d done, and I went to the ballroom door. She didn’t
hear me call to her, and I went back up stairs feeling like a sneak.
She was there with Mr. Fox and she was crying dreadfully when I
saw her.”
Rose’s scissors clipped sharply and a fresh young twig fell unnoticed
to the floor. There was a long pause. Miss English had mechanically
taken off her gloves and she was drawing them through her fingers,
her face full of honest trouble.
“After awhile she came up stairs,” she continued, “and came into the
room where I was—”
“Gertrude,” interrupted Rose suddenly, “ought you to tell me this?”
“Every one will know soon,” said Gertrude dryly; “she came over and
looked at the child and said she was glad he was better—he was
asleep then and the nurse had gone out of the room for some extra
milk. Margaret’s face was white, and her eyes—I never saw her eyes
so wonderful. Suddenly she flung her arms around my neck and
began to cry, softly so as not to wake the child. She told me—she’s
going to get a divorce!”
Rose put aside her scissors and sat down, looking across at Gertrude
with a strange expression, but she said nothing.
Miss English sighed, folding her gloves again. “Of course I know how
bad it’s been,” she said; “he’s a brute to her sometimes and swears
at her before everybody but, well, Rose, don’t you think you’d swear
at Margaret if you had to live with her?”
Rose smiled a little, her lips pale. “I don’t know, Gerty,” she said, “I
never did—in my life.”
“Didn’t you?” Miss English sighed again; “well,” she said, “when
you’re poor, downright, disgustingly poor, you just have to say
‘damn’ once in awhile, if you didn’t you’d kill somebody!”
“But White isn’t poor,” objected Rose, “he’s only vulgar.”
“Well, of course there’s Lily Osborne,” Gertrude shrugged her
shoulders; “there won’t be any trouble about the divorce in the State
of New York or anywhere else, I fancy! I wonder if she means to go
to Omaha.”
“Do you believe it’s really settled?” Rose asked, with a strong feeling
of self-abasement; she thought herself a scandal-monger, an
unworthy creature, but her heart quaked within her with an
unspoken dread, and Miss English’s next remarks drove it home.
“Without doubt,” she said; “I know it is and,”—she colored a little
and looked out of the window at the April sunshine on the garden
wall—“Rose, do you believe she’ll marry William Fox?” she
whispered.
Rose sat regarding her and said nothing. What could she say, poor
child? That vividly pictured scene of Margaret weeping and Fox as
her comforter was burning deep, and Rose had been brought up by
an Old Testament Christian!
“It would be a great pity,” Miss English observed, after a long
silence; “it would ruin Mr. Fox—people would say everything.”
Rose colored painfully. “People say very cruel things, Gerty,” she said
slowly, “and, perhaps, we’re as bad as any just now.”
Gertrude shook her head vigorously, her pleasant round face flushing
a little too. “I don’t mean to be,” she said, “of course it’s a great
temptation; we secretaries know everything, it’s like turning a dress
inside out and finding the lining’s only paper-cambric with a silk
facing; it’s all a big sham, we’re on the inside and know! But,
goodness, it would ruin Fox, and I know, Rose, I know she’s in love
with him.”
Rose looked steadily away; she, too, saw the ivy leaves fluttering
gently in the sunshine as the light breeze rippled across them.
Miss English sighed. “Well,” she said, “I don’t care; Margaret’s so
unhappy, it seems as if she ought to try over again, only there are
the children. I forgot though, Rose, you’re very stiff-necked; I
suppose you hate divorces?”
Rose shook her head. “I don’t believe in marriage after divorce,” she
said; she was very young and she had rigid standards, like a great
many people who have never had to test them in their hearts’ blood.
Gertrude English opened her mild blue eyes. “Don’t you?” she said,
“I didn’t, either, until I saw Margaret; then I began to think it was
awful to have to live out a mistake; and there’s White too; really he’s
had his trials. I don’t know whether it would be wicked or not for her
to marry again.”
“It isn’t Scriptural,” said Rose firmly, her face colorless now.
Miss English rose and began to put on her gloves. “Well, there isn’t
any marrying or giving in marriage in heaven,” she remarked, “so I
suppose most of us have got to do it all here. As far as I’m
concerned, I don’t find any rush for a poor girl. It’s amazing to me
that the male creatures can’t see the advantages of the habit of
economy!” she added, with a good humored laugh.
“I wish you’d stay to lunch,” said Rose mechanically; she had not
Gerty’s keen sense of humor, and her heart felt like lead in her
bosom.
“I can’t!” the little secretary went to the mirror and adjusted her hat-
pins; “I’ve got to go and write notes. Margaret has no head, and
she’s probably in bed now. You know she really has heart trouble; I
shouldn’t wonder if she died in one of her fandangoes.”
“And she’s talking of divorce and marriage!” Rose looked gravely into
the other girl’s troubled face.
“Of course; isn’t it like her?” Miss English moved slowly to the door,
buttoning her gloves, and Rose followed.
In the hall she turned. “After all, who’s to blame?” she said stoutly;
“Margaret’s awfully unhappy, and Fox—goodness, he used to almost
live there, he was there to everything until that row with White over
the Cabinet business. I’d like to know what you think of him, Miss
Moralist, a man who flirts with a married woman!”
“I try not to think of it,” Rose replied quietly.
Miss English had opened the door and the sunlight streamed in. “Oh,
good gracious!” she exclaimed; “why, Rose, what’s the matter?
You’re as white as a sheet!”
“I’ve—I’ve got a headache,” Rose faltered, the fib lodging in her
throat, for she had been reared to tell the truth, the whole truth,
and nothing but the truth.
“And I’ve been teasing you! I’m a brute. Go and lie down, you poor
dear!” Gertrude kissed her affectionately and penitently; “try
phospho-caffein; your hands are like ice!”
“Oh, it’s nothing—only a headache,” fibbed Rose, more easily the
second time; she realized it with a shudder. The way of the
transgressor is not always hard, the road is wide, also it is agreeable
—but she had not discovered that yet!
“I’ll stop by to-night and inquire,” said Gertrude.
But Rose shivered at the thought of continued deception. “Oh, I’ll be
all right,” she called after her visitor, then she closed the door and
laid her head against it; everything turned dark for a minute and
swam around her.
She went back to the library and picking up her scissors put them
away, and quite mechanically arranged her father’s chair and his
footrest and looked up the book he would want in the evening. She
tried not to let her mind dwell too much on what Miss English had
told her, but her lips tightened and her eyes darkened with
controlled emotion. She had led, hitherto, a happy, sheltered life,
she had never suffered much, and her capacity for suffering was
very great. Her character, which was just emerging from the
malleable sweetness of girlhood, had begun to feel the impress of
her father’s stern morality. With Rose right was right, and wrong was
wrong; there was no middle course. She had an exalted conception
of duty and the sacrifices that one should be ready to make for a
principle. She had never tested any of these admirable theories in
the fiery furnace of temptation, but she had a shadowy notion that if
she had lived in the age of Nero she should have offered her body to
be burned to save her soul alive. It is unfortunate for some of the
modern Christian martyrs that they did not live at that time; a diet of
prepared breakfast foods and French entrées is not conducive to the
production of heroes.
Rose had been so happy the day before, the birth of a new and
beautiful emotion had so transfigured her young soul, that this
sudden and dreadful revelation was in the nature of a thunderbolt
from a clear sky; her heart shrivelled and shrank within her. Yet to
question Fox, to doubt him was, to her simple, loyal nature a
hideous possibility.
If this were true, if he had all the while loved a married woman—
Rose knelt down by her father’s vacant chair and laid her head on
her arms. She tried to thrust the thought away, but it haunted her
and that verse—she had been brought up on the Scriptures, she
knew them by heart, their denunciations had frightened her when
she was a little girl, they chilled her still—For whosoever shall keep
the whole law, and yet offend in one point, he is guilty of all. She
shuddered; what should she do? O God, would it be very hard? She
caught herself pleading; was she begging off? The stern conscience
in her made her start up from her knees with a sob.
XIII
IT fell out—most unseasonably for the Vermilions—that Mrs. O’Neal
had planned her annual reception for the same night as their fancy-
ball. All the world was sure to go to Mrs. O’Neal’s sooner or later,
and it broke up the mask-ball at an unusual hour, just before the
champagne began to take effect, which was, on the whole, rather a
mercy to the Vermilions, though they knew it not and suffered some
keen pangs of anger and jealousy. Mrs. O’Neal had, of course, done
it on purpose, Cynthia Vermilion said, and, perhaps she had! Mrs.
O’Neal was a thoroughly worldly old person who would have driven
her social chariot over a hundred Vermilions, figuratively speaking,
and felt a grim pleasure in doing it. The world is not precisely the
place for the cultivation of the more tender feelings, or an undue
love for your neighbor, and Martha O’Neal had long since forgotten
that there might be really serious reasons for considering any one
but herself.
So she gave her famous annual ball on that beautiful spring evening
when the scent of the lilacs in her garden came in through the open
windows. She had the house decorated with Easter lilies—it was
Eastertide—and she had made her offering from the front pew in the
most fashionable church in town, wearing her new bonnet while her
head vibrated sufficiently to make the roses dance in weird mockery
on its brim. She had remembered to mention, too, that she gave a
thousand dollars a year to the church, because it is quite useless to
hide your light under a bushel. Having done all these things she
gave her ball on the Vermilions’ evening, and it was a very beautiful,
a very select and a very famous affair, made more famous in the end
by an incident which she had not foreseen.
Those poor Vermilions! They had spent many thousands, and yet
people hurried away or came late, only to eat the supper; old
Vermilion was a magnificent provider. Of course there were some
who never went to the Vermilion’s at all, but always to Mrs. O’Neal’s;
among these were the Temples and old Mrs. Allestree, who made a
point to be present at Martha’s house, for she and Martha had been
schoolmates and were still good friends, although nothing could
have been more amusing than the contrast; the one in her old-
fashioned dress with her placid face and her kindly smile, and the
other, tight-laced, over-burdened with satin and jewels, her old head
wagging and quivering under its high white pompadour and its
jewelled aigrette.
Her rooms were thronged; the dark polished floors, the old
mahogany furniture, the glittering mirrors, the bewildering array of
candles, tall candles and short candles, huge seven-armed silver
candelabra, short, stout silver candlesticks, the masses of white
lilies, the sweet, heavy odor of them; what a beautiful, dazzling,
fanciful scene it was, when the lovely women in their rich dresses
began to throng every room and corridor and even lingered laughing
and talking on the wide stairs and in the gallery above which
commanded the lower hall and the ballroom, where the fluted pillars
were festooned with vines and crowned with capitals of roses. The
old, old woman, with her white head and her false teeth and her
gorgeous gown, receiving her guests, chattering and smiling and
proud; truly the ruling passion is strong in death. She stood there
nobly, heroically, cheerfully, though her tight satin shoes pinched her
poor, old feet, and the draughts from the door sent a shiver of
rheumatic pain across her poor, old, bare, shrivelled shoulders; and
the wide expanse of her ample neck and bosom, clad in jewels and
the imagination, felt the breeze too.
After awhile the guests from the fancy-ball began to drift in, a few at
first in costume, and then more and more, until the ballroom took on
the look of a harlequin show, and there was much gay laughter and
criticism of each new arrival from those who had disdained the
Vermilion ball or who had never been asked.
Mrs. Osborne came, beautiful and striking, dressed as an Eastern
sorceress, and almost at once she had a circle around her in the
corner of the conservatory, and was telling fortunes and interpreting
dreams with all the arts of a charlatan and the charm of a lovely
woman. The crimson tunic, the dark blue petticoat worked with gold,
the shapely ankles with broad gold bracelets, the glittering scarfs
which draped her shoulders and revealed her white arms, the dull
gold band on her forehead, binding back the masses of glossy
auburn hair, all combined to make her a charming and seductive
picture. She told fortunes well; it is an alluring art, it shows pretty
hands and delicate wrists, and the downward sweep of soft
eyelashes, the arch of a white brow, besides that swift glance
upward from bewilderingly lovely eyes—
The women looked at her over their shoulders and stiffened, while
the men all had their fortunes told and found the lines on their
palms of sudden and absorbing interest. One or two elderly women,
the mothers of grown boys and girls, were seized with a sudden
desire to go home, but it was no easy matter because the elderly
gentlemen belonging to them, and also the fathers of grown boys
and girls, found that corner too attractive to leave.
Judge Temple, observing it with his shrewd common sense, smiled
with much secret amusement and looked about to see if Rose saw it,
for Rose would understand though she had not his sense of humor.
But he discovered Rose greeting William Fox with an expression on
her sweet young face which startled him. She was smiling and
speaking easily, he saw that, but what was it in her eyes, her lips,
which seemed almost too subtle to interpret? The judge stopped
talking to his nearest neighbor and looked at his own child oddly;
could it be? Then he looked at Fox and there he read something too,
the look of a man in pain, physical or mental, a pain which he meant
to hide. The old judge had been to the supper-table and was
standing at the door when he saw them; he quite forgot the plate in
his hand, he almost let a strawberry roll off on to the floor when he
heard Mrs. Allestree’s voice.
“Dear me, judge, do remember that I’m wearing my one evening
gown and strawberries stain!” and she laughed as she saw his start;
“there, see what it is to be a philosopher out for an evening with a
frivolous old woman!”
“My dear Jane,” replied the judge—he had gone to school with Mrs.
Allestree—; “I’d forgotten that it wasn’t a strawberry vine. Do you
remember those we stole from old Mr. White’s patch a thousand
years ago?”
“Do I?” the old woman sighed; “Stephen,” she said, “how much nicer
they were than these! I wonder if I stole some now—”
“I should send you to jail,” he retorted, twinkling, “the second
offense, you know!”
“You stole those yourself!” she replied indignantly, “I was only
accessory after the fact! Who in the world is that?” she added,
catching her breath and craning her neck to peep through the
throng.
It was Margaret White. She had just come from the fancy-ball where
it had been her whim to appear as Ophelia. Perhaps her conscience
had pinched her for her treatment of Mrs. Vermilion in Allestree’s
studio, or it had merely pleased her to go. It was often impossible to
find the key to her conduct. At any rate she had gone, and she came
late to Mrs. O’Neal’s, where she was to meet her husband, for he
had refused to go in costume to the Vermilions’. He was a man of
too heavy common sense to trick himself out in fancy dress, and on
that one point he knew his own limitations; he had never been able
to play a part to his own satisfaction, and he had too high an opinion
of Wicklow White to belittle him with a failure. So it happened that
he had already had his fortune told by the enchantress in the
conservatory when a ripple of excitement from the ballroom reached
him.
When Mrs. Allestree spoke the crowd had parted to let Margaret
pass through it. She wore a flowing, soft, white gown, thin, clinging,
revealing her neck and arms and the long slim lines of her figure;
her hair, which was beautiful and an unusual tint of pale brown, was
unbound and hanging, trimmed with flowers, while her arms were
full of them.
There was a silence; every eye was on her, and there was an
instantaneous recognition of her remarkable fitness for the part; the
delicate, subtle beauty of her face, her brilliant eyes, with the dusky
shadows below them, the longing, the pain, the uninterpreted
feeling of her expression, her wild hair, her slim, graceful figure, the
appealing beauty of her slender white hands as she held them out,
offering rosemary and rue and daisies, was she really an actress
born or—the very nymph herself? That mystic atmosphere of
tragedy which sometimes seemed to pervade her being had at last
found an expression at once visible and beautiful.
It was her whim to play the part out, and people watched her,
fascinated; those who did not approve of her, those who disliked her,
as well as those who fell under her spell, watched her with
undisguised eagerness. She drew all eyes and knew it. She looked
up and saw her husband standing in the door of the conservatory;
their eyes met with a challenge; they had quarrelled woefully over
her coming in this dress, and it only needed the sight of him to
kindle her wilful daring, her abominable obstinacy. Some one called
her by name and spoke to her but, unheeding, she began to sing
Ophelia’s song, throwing flowers as she walked slowly, very slowly
down the crowded room.
“Hey non nonny, nonny, hey nonny!” she sang.
There was a little breathless applause, but she met it with a vacant
look, coming on, tossing a rose here, a lily there, to be caught by
some ready hand.
Mrs. Wingfield, unhappily, stood in her path. She had been watching
her approach with an expression which needed no explanation, but
she could not be content with silent disapproval, she rushed upon
her fate. “Why, how do you do, Mrs. White,” she said, in her audible
voice, “I really didn’t know it was you; I thought it must be some
actress!”
Margaret looked at her blankly, then she put her head on one side.
“‘Well, God ’ild you!’” she exclaimed, “‘they say the owl was a baker’s
daughter.’”
Mrs. Wingfield turned painfully scarlet. There was a titter, an audible
and wavering titter around her. Alack, there were only too many who
remembered, with the memory of society, that her father had dealt
in loaves and fishes!
But Margaret had passed on; she handed a flower to Fox as she
passed, rosemary for remembrance; she gave a rose to Rose Temple
and to the judge a sprig of rue with a little malicious smile.
“Call it herb of grace o’ Sundays!” she said lightly, and the judge
laughed good humoredly with the others, for he knew that his stiff,
old-fashioned manners and customs were often meat for jests.
After all, it was not so bad, people were obviously entertained;
White began to draw a breath of relief, he tried to signal to her to
stop. But Margaret was not done, instead, the very spirit of defiance
seemed to possess her. She suddenly knelt in the centre of the room
and began to make a wreath of flowers, singing Ophelia’s lament,
her sweet, high voice carrying far in the great rooms. The throng of
gayly dressed women drew farther away, the circle widened, necks
were craned, those behind stood on tip-toe.
It was too much for Wicklow White, he could endure no more; he
walked abruptly across the space. “Margaret,” he said, in a low
peremptory voice, “this is too much, we must go home!”
She looked up and shook back her soft, wild hair as she tossed a
flower at him.
“‘For bonny, sweet Robin is all my joy!’” she sang maliciously.
He crimsoned and bit his lip. Again some one applauded; there was
a slight murmur of talk.
Margaret rose abruptly from her knees and began to laugh, herself
again, gay, debonair, indifferent. “What a fool I can be to entertain
you,” she said, her delicate face bright as a child’s.
People gathered about her at once; she was congratulated, praised,
but in the corners others disapproved and thought her a little mad.
Mrs. Osborne glanced meaningly at her nearest friend and tapped
her forehead, and Mrs. Wingfield laughed furiously.
“What a delightful side-show!” she said; “they say White will lose his
place—no wonder!”
The throng had closed up again, the gay murmur of talk rose; the
musicians were just beginning to play a waltz and the ballroom was
filling with dancers.
Margaret, laughing and talking gayly, stood in the door. Fox, looking
across at her, experienced a feeling of deep amazement. What an
actress a woman can be! It seemed to him that he had dreamed
that scene in White’s house, that it was impossible, untrue, a
phantasm of his troubled brain. Then, as he watched her, pondering
on a woman’s unfathomable moods, he saw a sudden gray
whiteness spread over her face like a veil, her eyelids quivered, her
lips parted and she swayed.
In an instant he had reached her and caught her as she fell. Judge
Temple helped him hush the stir it made, and he carried her quietly
and swiftly down stairs to a reception room below where he could
get help at once.

Half an hour later Judge Temple took Rose home.


“What was it, father?” she asked, as they got into the carriage; “I
didn’t see it and I just heard that Margaret fainted. Mrs. O’Neal kept
us all dancing, she didn’t want it known.”
The judge looked thoughtfully out of the window. He was not
thinking of Margaret. “She is better now, they got her home in a
little while. I believe White did his best in spite of that scene,” he
said; “she has heart disease; the doctor intimated to me that she
might go just like that if she keeps this up—but people live a long
time with Margaret’s kind of heart trouble; I knew one man who had
it for twenty years and finally died of stale cucumbers. A beautiful
creature, a very beautiful creature, I’ll admit it!”
Rose made an effort, she must learn to hide her heart, she who had
never hidden anything! “Father, may I go to her dressmaker?” she
asked archly.
“No!” he said sharply, “nor walk in her ways—the most extraordinary
creature! Jane Allestree tells me there’ll be a divorce, and no
wonder!”
Rose was silent for a moment. “Yes,” she said, “Gerty said so.”
The judge leaned back in his corner and passed his hand over his
eyes. “Ah!” he ejaculated and relapsed into silence.
XIV
ROSE slept but little that night; she tossed instead, trying to still her
heart. She had seen Fox but a moment in the throng, but that
moment had been enough for her to feel the subtle change in their
relations. Her perceptions were delicate, far reaching, exquisitely
sensitive. He was not himself, his troubled eye met hers with a
confession of sorrow which she could not interpret. Standing outside
of his consciousness, unaware of the struggle in his soul, she only
saw estrangement, awkwardness, a mute appeal, which seemed to
her incapable of explanation unless he loved Margaret and had been
trifling with her. The thought made Rose sit up in bed with flaming
cheeks.
It is useless to inculcate the spirit of meekness and Christian
submission in a child when you cannot pluck the old Adam out of the
heart. Rose was her father’s daughter; she meant to be a good
Christian, she had little stiff limitations in her life, but she never
thought of breaking her pride; it came to her with her blood, with
her long and respectable descent from a race of God-fearing English
yeomen, transplanted to the soil of a new world and endowed with a
new and fuller stream of blood and physical beauty, but with the
same hardy pluck, the same psalm-singing, fighting spirit which led
the van at Naseby.
If Fox loved Margaret, if he meant to marry White’s wife when she
was free—Rose shuddered, she had learned her father’s views on
divorce and re-marriage by heart. At least, he should not pity her!
After awhile she lay down again and hid her burning face on her
pillows, for it was wet with tears. She would not cry out, she would
not flinch, but it hurt.
In the morning she bathed her eyes again and again in cold water,
dressed and went down to breakfast. The judge was reading his
morning paper and they were both rather taciturn. The old man had
troubles of his own just then which Rose knew nothing about. He
had invested some money unwisely and had heavily endorsed the
notes of a friend, a man he had trusted, but lately a doubt began to
thrust itself into his abstracted mind. Besides his salary as judge he
had but a slender fortune, and if that were really involved and he
should die—he looked up over his paper at Rose with anxious,
affectionate eyes. She was looking down at her cup of coffee and did
not perceive his glance, but he saw again the trouble in her face and
thought her eyes looked as if she had been weeping; there was a
droop, too, to her lips which was unnatural. It set him thinking, and
a cloud settled on his usually serene brow.
After awhile he got up and went into his library to finish his paper
before he went out, and he was still there when Rose came in and
began to tend her plants. He noticed that she was very quiet and
that she took less pains than usual. He laid down his paper. “Rose,
has Allestree finished your picture yet?” he asked.
“Yes, I think so,” she replied, blushing suddenly; “but he keeps on
fussing over it. Perhaps we should send for it.”
“I want to pay for it; I’ll send him a check to-day,” the judge said,
opening a drawer and looking absently for his checkbook; “it may
not be convenient later.”
Rose set down her pitcher and stood twisting a broken leaf in her
fingers. “He’ll never take anything for it, father.”
The judge looked over his spectacles. “We can’t take such a
present,” he remarked dryly; “I’m afraid you’ve let Robert fall in love
with you, Rose.”
She gave him a quick, pained glance. “I—I hope not!” she said softly.
The old man smiled. “He’s a good boy, Rose; I shouldn’t disapprove
except that I can’t spare you—I’m such a selfish old brute.”
“And I can’t leave you!” she retorted with a queer little laugh, tears
in her voice; “but I know Robert won’t take any money for it; I—I
shouldn’t dare offer it.”
“You needn’t, but I shall,” replied her father calmly; “if he tells me
he’s in love with you I shall not be surprised; no one will be any the
worse for it, Rose.”
“I should be very sorry,” she said simply.
The old man gave her a keen glance and pursed his lips as he wrote
the check.
“He’ll never take it,” she repeated, taking up her pitcher again.
“Well, I’m not anxious to give him you instead!” said the judge.
Rose laughed a little in spite of herself. “You need not!” she replied.
Her father signed the check. “Rose,” he said, in an absent voice,
“what did Gerty English say about Margaret’s divorce?”
Rose bent assiduously to her task. “Not much,” she answered
quietly; “just that it was settled, she meant to get one; she’s very
unhappy.”
“Of course she means to marry again, that’s what they do these
days,” the judge said, in a tone of fine irony; “one husband isn’t
enough or one wife. Solomon ought to get here! Of course she’ll
marry Fox.”
Rose was silent; through the open window she could see the buds
on the Persian lilac, but she shivered.
“What I should like to know,” said the judge shrewdly, “is this—does
Fox want to marry her?”
Rose put her hand to her throat with a helplessly futile gesture.
“They say he was in love with her long ago, father.”
The old man smiled. “My dear child,” he remarked, “women always
remember that Jacob served seven years! But Fox is a genius, an
unusual man and probably as fickle as the wind. However, he’ll have
to reap as he has sown; doubtless he has dangled at Margaret’s
elbow; it’s been the fashion. Well, well, it will very likely thwart his
career and, if so, he’ll deserve it, but I hoped great things of him
though I’ve feared him a little too; genius is like fire—it burns where
it touches.”
He rose and put aside his papers. “I’ve written to Robert and
enclosed the check,” he said; “he’ll get it to-morrow.”
“Then I’ll go there to-day,” said Rose; “I shouldn’t dare to-morrow;
he’ll be furious.”
“Not a bit of it, he has too much sense,” retorted the judge;
“besides, he can’t have my girl yet!”
“Nor ever!” said Rose smiling as her father bent suddenly and kissed
her.
“Ever is a long word,” he replied and laughed gently; in his heart he
believed that Allestree would make her happy.

An hour later Rose joined Mrs. Allestree on the way to the studio.
The old lady was out walking in the spring sunshine, her fine aged
face mapped close with delicate wrinkles and little puckers and her
keen old eyes bright and alert in spite of the weight of years.
She took Rose’s proffered arm with a smile. “I forgot my cane,” she
said; “I always forget that I’m more than twenty-four until I try to go
up stairs. I tell Robert that I can’t climb up to his studio much longer,
he’ll have to have an elevator. I’m going now to see your picture, he
means to send it to your father to-morrow; it’s been hard to part
with it!”
Rose colored deeply, much to her own chagrin. “Father is anxious to
have it,” she said, “he spoke about it this morning.”
“Wants to pay for it, I presume,” the old woman retorted shrewdly;
“I’ve always said that Stephen Temple would offer to pay for his
halo! Tell him not to try to pay Robert, Rose, it would hurt.”
Rose looked at her helplessly. “He’s written about it,” she said
reluctantly; “I told him, but he would do it.”
Mrs. Allestree’s sensitive face colored almost as vividly as the girl’s
and she stopped, her hand on Rose’s arm, and looked down
thoughtfully. “It’s in your father’s writing, of course?” she said at
last.
“Yes, he wrote this morning and posted it himself.”
The old woman drew a long breath. “I’m going to commit a felony,
Rose,” she said, “I’m going to get that letter; Robert’s mail comes to
the house, I see it first. I shall send the check back to your father
myself.”
“I’m afraid he’ll be angry,” said Rose thoughtfully; “I didn’t know
what to do; I was sure Robert didn’t want to—to be paid for it.”
“Paid for it!” Mrs. Allestree shook her head sadly; “my dear child, it
has been a labor of love. You couldn’t ask Robert to take money for
it.”
Rose was silent, she felt herself a mere puppet in Mrs. Allestree’s
hands; the old woman was as shrewd and as skilful as the most
worldly matchmaker in her gentle and affectionate way; besides she
adored her son and, like most mothers, she was willing to offer up
any sacrifice which seemed to her sufficiently worthy for immolation.
There was a moment of embarrassment on Rose’s part, and she was
glad to see the Wicklow White motor-car coming swiftly toward
them. At the sight of the liveries Mrs. Allestree turned quickly and
caught an indistinct view of a woman’s figure, a white chiffon hat
and a feather boa.
“Why, it’s Margaret!” she exclaimed, half stopping to look back.
“No, it’s Mrs. Osborne,” Rose said quietly; “she’s taken off her half
mourning.”
Mrs. Allestree’s face changed sharply. “In White’s motor-car?” the old
woman glanced after the vanishing juggernaut with an eloquent

You might also like